每当我尝试通过python在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 -
我不确定问题是什么,我尝试了各种修复,就像在这里提出的类似问题一样。
示例代码:
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(Snow Leopard)上运行并使用Python 2.7.3
答案 0 :(得分:2)
不确定这是多么相关,但堆栈跟踪中的文件夹结构似乎暗示您使用的是Python 2.6,而您说您拥有2.7.3。也许您需要使用最新版本的Python显式运行脚本。
答案 1 :(得分:2)
有趣的是它是一个内置模块(cgi.py),它会抛出错误。 urllib在那里!无法想象为什么会这样!
Snow Leopard还在/system/Library/Frameworks/Python.framework/Versions/2.6中安装了python 2.6,但我安装的是/Library/Frameworks/Python.framework/Versions/2.7。
根据this,我不得不改变的是GAE偏好中的Python参考。这很有用。
答案 2 :(得分:0)
我不确定为什么urllib
导入无效,但在您的示例代码中,您没有使用该模块,因此您根本不需要导入它。