2012-05-03 38 views
4

我试图将我的App Engine应用程序移动到Python 2.7运行时。使用deferred.defer与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' 

回答

2

它看起来像你在其中阴影正确webapp.py你的Python类路径中有一个自定义webapp.py

我目前正在使用新的Python 2.7运行时没有问题的延期库。
我已经在我的app.yamlbuiltins部分启用它:

builtins: 
    - deferred: on 
+0

谢谢,我确实推迟了:在我的app.yaml内置部分 – user1373591

+1

回答我自己的问题。我的应用程序有自己的'webapp2'版本(可能是旧版本),删除了这个版本,并将'webapp2'添加到'app.yaml'的'库'部分,解决了这个问题。虽然,我不太清楚为什么。 – user1373591

0

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