2012-05-03 50 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。