我有一个在 Google App Engine 上运行的 django 1.5,使用 djangoappengine
模块进行拼接。
一切正常,除了大约一半对/_ah/queue/deferred 的调用会引发以下导入错误:
Traceback (most recent call last):
File "..../third_party/djangoappengine/deferred/handler.py", line 2, in <module>
from djangoappengine import main
ImportError: No module named djangoappengine
如您所见,djangoappengine 模块位于 third_party
目录中,该目录被添加到 appengine_config.py
的 sys.path
中code> 文件,所以执行 from djangoappengine import main
应该没有任何问题:
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'third_party'))
app.yaml
中的相关行是:
handlers:
- url: /_ah/queue/deferred
script: third_party/djangoappengine/deferred/handler.py
login: admin
是什么导致了这些零星的导入错误?难道我做错了什么?也许有一个我不知道的导入循环?
最佳答案
发现我的代码使用旧的 CGI 接口(interface)而不是新的 WSGI。我解决了这个问题,此后问题没有再出现。
更新的app.yaml
:
handlers:
- url: /_ah/queue/deferred
script: djangoappengine.deferred.handler.application
login: admin
关于python -/_ah/queue/deferred 奇怪的导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24751684/