我正在尝试将App Engine应用程序移动到Python 2.7运行时。
使用SDK 1.6.5版导入google.appengine.ext.deferred
库时,我看到了下面的回溯。我也试过上传应用程序并在运行时看到类似的错误。
是否有其他人在Python 2.7中使用延迟库。有没有人见过类似的问题?
修改
回答我自己的问题。我的应用程序有自己的webapp2
版本(可能是旧版本)删除了这个版本,并将webapp2
添加到app.yaml
的库部分修复了问题。虽然,我不太清楚为什么因为追溯似乎显示延迟库导入正确版本的webapp
。
回溯: ...
File ".../units/unitsSchema/styleModel.py", line 30, in <module>
from google.appengine.ext import deferred
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/ext/deferred/__init__.py", line 29, in <module>
from deferred import *
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/ext/deferred/deferred.py", line 266, in <module>
class TaskHandler(webapp.RequestHandler):
AttributeError: 'module' object has no attribute 'RequestHandler'
答案 0 :(得分:2)
看起来你的python类路径中有一个自定义webapp.py
,它正在隐藏正确的webapp.py
。
我目前正在使用带有新Python 2.7运行时的延迟库而没有问题
我已在app.yaml
的 builtins 部分启用了它:
builtins:
- deferred: on
答案 1 :(得分:0)
我遇到了同样的问题。我尝试了很多方法。 最后,我解决了它。这是webapp2版本的问题。 app.yaml文件中有一个webapp2库。只使用这个。 不要从deps导入webapp2。