4

我正在尝试将我的 App Engine 应用程序移动到 Python 2.7 运行时。

google.appengine.ext.deferred使用 SDK 1.6.5 版导入库时,我看到了下面的回溯。我也尝试过上传应用程序并在运行时看到类似的错误。

有没有其他人在 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'
4

2 回答 2

2

看起来你webapp.py在你的 python 类路径中有一个自定义,它隐藏了正确的webapp.py.

我目前正在将延迟库与新的 Python 2.7 运行时一起使用,没有问题。
我已经在我的内置部分启用了它app.yaml

builtins:
  - deferred: on
于 2012-05-03T22:32:36.220 回答
0

我遇到了同样的问题。我尝试了很多方法。最后,我解决了。是webapp2版本问题。app.yaml 文件中有一个 webapp2 库。只用这个。不要从 deps 导入 webapp2。

于 2018-02-24T02:55:24.410 回答