无法在gae中运行简单的helloworld(python 2.7)

Abh*_*ogi 6 python google-app-engine

我试图在google-appengine 1.6.4中运行官方helloworld程序,用于python 2.7.

无法运行简单的helloworld令人沮丧.我很感激这里有任何帮助.

遇到错误: -

shadyabhi@MBP-archlinux ~/codes/gae $ dev_appserver.py helloworld/
INFO     2012-04-06 23:25:55,030 appengine_rpc.py:160] Server: appengine.google.com
INFO     2012-04-06 23:25:55,034 appcfg.py:582] Checking for updates to the SDK.
INFO     2012-04-06 23:25:56,709 appcfg.py:616] This SDK release is newer than the advertised release.
WARNING  2012-04-06 23:25:56,710 datastore_file_stub.py:513] Could not read datastore data from /tmp/dev_appserver.datastore
INFO     2012-04-06 23:25:56,773 dev_appserver_multiprocess.py:647] Running application dev~helloworld on port 8080: http://localhost:8080
INFO     2012-04-06 23:25:56,774 dev_appserver_multiprocess.py:649] Admin console is available at: http://localhost:8080/_ah/admin
WARNING  2012-04-06 23:26:00,928 py_zipimport.py:139] Can't open zipfile /usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info: IOError: [Errno 13] file not accessible: '/usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info'
ERROR    2012-04-06 23:26:01,101 wsgi.py:189] 
Traceback (most recent call last):
  File "/opt/google-appengine-python/google/appengine/runtime/wsgi.py", line 187, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/opt/google-appengine-python/google/appengine/runtime/wsgi.py", line 239, in _LoadHandler
    raise ImportError('%s has no attribute %s' % (handler, name))
ImportError: <module 'helloworld' from '/home/shadyabhi/codes/gae/helloworld/helloworld.pyc'> has no attribute app
INFO     2012-04-06 23:26:01,110 dev_appserver.py:2884] "GET / HTTP/1.1" 500 -
ERROR    2012-04-06 23:26:01,479 wsgi.py:189] 
Traceback (most recent call last):
  File "/opt/google-appengine-python/google/appengine/runtime/wsgi.py", line 187, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/opt/google-appengine-python/google/appengine/runtime/wsgi.py", line 239, in _LoadHandler
    raise ImportError('%s has no attribute %s' % (handler, name))
ImportError: <module 'helloworld' from '/home/shadyabhi/codes/gae/helloworld/helloworld.pyc'> has no attribute app
INFO     2012-04-06 23:26:01,486 dev_appserver.py:2884] "GET /favicon.ico HTTP/1.1" 500 -
Run Code Online (Sandbox Code Playgroud)

小智 36

如果您使用的是python2.7库,那么本教程就会出错

这行不正确:

application = webapp2.WSGIApplication([('/', MainPage)], debug=True)
Run Code Online (Sandbox Code Playgroud)

正确的行应该是:

app = webapp2.WSGIApplication([('/', MainPage)], debug=True)
Run Code Online (Sandbox Code Playgroud)

WSGI处理程序抱怨,因为它正在寻找一个名为"app"的属性.

  • +1谢谢.你的回答解决了我的问题. (2认同)

Nol*_*lty 4

您在 github 上的文件与官方 google hellworld 教程之间的一个区别是您的 helloworld 文件似乎没有命名为 helloworld.py。这可能会有帮助吗?

此外,您是否需要 helloworld 顶部的 PROJECT_DIR 变量?

如果您正在努力让基本教程正常工作,您应该做的第一件事就是确保您的项目与谷歌示例完全相同。