GAE

2012-04-15 23 views
3

每當我試着通過Python運行在GAE上的樣本代碼,我得到這個錯誤GAE

File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 1665, in LoadModuleRestricted 
    description) 
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/cgi.py", line 31, in <module> 
    import urllib 
ImportError: No module named urllib 
INFO  2012-04-15 04:44:54,345 dev_appserver.py:2884] "GET/HTTP/1.1" 500 - 

我不知道是什麼問題,我嘗試了各種修補,「沒有命名的urllib模塊」在這裏提出類似的問題。

示例代碼:

import webapp2 
import urllib 

class MainPage(webapp2.RequestHandler): 
    def get(self): 
     self.response.headers['Content-Type'] = 'text/plain' 
     self.response.out.write('Hello, webapp World!') 

app = webapp2.WSGIApplication([('/', MainPage)], 
           debug=True) 

我在Mac OSX 10.6.8(雪豹)上運行,並使用Python 2.7.3

回答

2

不知道這是多麼相關,但堆棧跟蹤中的文件夾結構似乎意味着您使用Python 2.6,而您說您有2.7.3。也許你需要用最新版本的Python顯式地運行你的腳本。

+0

有趣的是,它是一個內置模塊(cgi.py),它會拋出錯誤。和urllib在那裏!不知道爲什麼會發生這種情況! – adifire 2012-04-15 13:09:07

+1

在首選項中將Python路徑設置爲'/ usr/local/bin/python2.7' – 2012-09-06 21:07:07

0

我不知道爲什麼urllib進口不工作,但在你的示例代碼中,你沒有使用該模塊,所以你真的不需要導入它。

2

有趣的是它是一個內置的模塊(cgi.py),它會拋出錯誤。和urllib在那裏!不知道爲什麼會發生這種情況!

此外,Snow Leopard自帶python 2.6安裝到/system/Library/Frameworks/Python.framework/Versions/2.6,但我安裝到/Library/Frameworks/Python.framework/Versions/2.7。

根據this,我必須改變的是GAE偏好中的Python參考。這工作。