我想使用一个使用memcache的库(记忆):import memcache
现在在App Engine上,必须像这样导入内存缓存:from google.appengine.api import memcache
因此,在使用dev_appserver.py运行时出现此错误:ImportError: No module named memcache
我可以在不修改的情况下使用此库吗?
答案 0 :(得分:3)
简短的回答是:即使您可以使用dev_appserver.py
让模块在本地实例上工作,因为Google控制服务器环境,您只能在将代码上传到其托管时使用其支持的模块服务。见here.
答案很长,为了import memcache
,您需要安装memcache
软件包。如果您想尝试使用Google提供的memcache模块,您可以将其更改为from google.appengine.api import memcache
,但Google的memcache可能与记忆使用的标准Python memcache包存在重大差异,并且可能会出错或根本不工作。此外,即使你被记忆起来工作,你也无法在谷歌的服务器上使用它,因为它不是受支持的第三方库(见上文)。
答案 1 :(得分:2)
假设app引擎的memcache与memcached库相同..那么,如何使用以下命令创建memcache.py模块:
from google.appengine.api.memcache import *
然后记忆将能够在导入memcache后使用memcache.set(),memcache.get()等。
答案 2 :(得分:2)
进一步澄清jayhendren的答案 - 如果您打算使用GAE的memcache服务,您必须使用
来自google.appengine.api import memcache
您无法使用开源memcache库。您可以使用标准python memcache lib的唯一方案是,如果您在某处运行自己的memcache服务(例如在Compute Engine上),并且您希望通过套接字连接到它。我猜你不是那样做的。
假设您想使用GAE内置的memcache服务:由于GAE的memcache lib和标准的python memcache libs定义的API之间存在差异,您必须对记忆进行一些小的更改,以便它能够成功地与之交谈GAE内存缓存库。尽管面向开发人员的功能与标准的python库相同。如果你让它工作,请告诉我们!
答案 3 :(得分:1)
在导入memorized之前,可能尝试使用GAE API模块路径手动更改sys.path:
sys.path.insert(0, '/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/')
不知道记忆,但只是
import memcache
作品。