根据Google AppEngine文档,应该像这样导入memcache:
from google.appengine.api import memcache
我正在使用virtualenv,我正在创建一些脚本来测试我为AppEngine创建的库。我不是要测试一个网站,我正在尝试测试一个使用memcache的特定库。显然,在不使用dev_appserver.py
的情况下,我获得了ImportError: No module named google.appengine.api
。
我查看了dev_appserver.py
的{{3}},但首先我想知道是否有一个更简单的解决方案,不需要像谷歌那样重写PATH。
谢谢!
答案 0 :(得分:2)
出于测试目的,我们总是创建AppEngine库的本地签出,如下所示:
GAE_VERSION=1.6.2
resttest: dependencies lib/google_appengine/google/__init__.py
sh -c "PYTHONPATH=lib/google_appengine/ python tests/resttest.py --hostname=$(TESTHOST) --credentials-user=$(CREDENTIALS_USER)"
lib/google_appengine/google/__init__.py:
curl -s -O http://googleappengine.googlecode.com/files/google_appengine_$(GAE_VERSION).zip
unzip -q google_appengine_$(GAE_VERSION).zip
rm -Rf lib/google_appengine
mv google_appengine lib/
rm google_appengine_$(GAE_VERSION).zip
dependencies:
git submodule update --init
答案 1 :(得分:2)
没有简单的解决方案,至少你必须设置你的Python路径。这就是你链接到的所有dev_appserver包装器。为了测试代码/库,我通常编写一个简单的包装器,它与dev_appserver的功能基本相同。
在某些情况下,您实际上需要更进一步并初始化存根。如果您按照dev_appserver代码进行操作,您将能够看到如何完成此操作。