这里不允许映射值...在foo.py中

时间:2013-04-19 11:22:10

标签: python google-app-engine

我有这个GAE python代码

在文件foo.py中

import webapp2

class MainPage(webapp2.RequestHandler):

         def get(self):
                self.response.headers['Content-Type'] = 'text/plain'
                self.response.write('Hello Foo')

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

在文件app.yaml

application: foo
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: foo.app

我得到此错误指向文件foo.py中的第三行(类MainPage(webapp2.RequestHandler):) OBS。从消息的结尾开始阅读

...
line 172, in _HandleEvents
    for event in events:
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/yaml_listener.py", line 212, in _GenerateEventParameters
    raise yaml_errors.EventListenerYAMLError(e)
google.appengine.api.yaml_errors.EventListenerYAMLError: mapping values are not allowed here
  in "foo.py", line 3, column 39

我很感激帮助

感谢 萨姆

2 个答案:

答案 0 :(得分:16)

如果以错误的方式启动应用程序,则会发生此类错误:dev_appserver.py foo.py。您需要一个目录,例如foo foo/foo.pyfoo/app.yaml,然后使用dev_appserver.py foo/从父目录启动程序,或者使用dev_appserver.py .在目录中启动程序

答案 1 :(得分:0)

您的代码没有任何问题。我将这两个文件复制并粘贴到文件中并使用App Engine SDK版本在我的Win7系统上运行它们:“1.7.7”并且它没有错误地提供给页面。

您可能会遇到文件或设置问题。

您是否尝试过File-> Creating New Application菜单选项?它将创建一个名为engineapp的新应用程序,它将显示“Hello world!”在localhost机器上浏览时。