[英]Google App Engine | Python | APP.YAML
我是Google App Engine的初学者,也是Python的Web开发人员。 在制作了一个基于Python的小应用程序后,我一直在尝试过去6天将其上传到GAE上。 下面的“app.yaml”文件给出了之后给出的错误。
application: web2py
version: 1
runtime: python27
api_version: 1
threadsafe: false
default_expiration: "24h"
handlers:
- url: /(?P<a>.+?)/static/(?P<b>.+)
static_files: applications/\1/static/\2
upload: applications/(.+?)/static/(.+)
secure: optional
- url: /favicon.ico
static_files: applications/welcome/static/favicon.ico
upload: applications/welcome/static/favicon.ico
- url: /robots.txt
static_files: applications/welcome/static/robots.txt
upload: applications/welcome/static/robots.txt
- url: .*
# script: gaehandler.py # CGI
# script: web2py.app # ?
script: gaehandler.wsgiapp # WSGI (Python 2.7 only)
secure: optional
admin_console:
pages:
- name: Appstats
url: /_ah/stats
skip_files: |
^(.*/)?(
(app\.yaml)|
(app\.yml)|
(index\.yaml)|
(index\.yml)|
(#.*#)|
(.*~)|
(.*\.py[co])|
(.*/RCS/.*)|
(\..*)|
(applications/(admin|examples)/.*)|
((admin|examples)\.(w2p|tar))|
(applications/.*?/(cron|databases|errors|cache|sessions)/.*)|
((logs|scripts)/.*)|
(anyserver\.py)|
(web2py\.py)|
((cgi|fcgi|modpython|wsgi)handler\.py)|
(epydoc\.(conf|css))|
(httpserver\.log)|
(logging\.example\.conf)|
(route[rs]\.example\.py)|
(setup_(app|exe)\.py)|
(splashlogo\.gif)|
(parameters_\d+\.py)|
(options_std.py)|
(gluon/tests/.*)|
(gluon/(rocket|winservice)\.py)|
(contrib/(gateways|markdown|memcache|pymysql)/.*)|
(contrib/(populate|taskbar_widget)\.py)|
(google_appengine/.*)|
(.*\.(bak|orig))|
)$
builtins:
- remote_api: on
- appstats: on
- admin_redirect: on
- deferred: on
使用Python 2.7.3时,Google App Engine会出现以下错误
*** Running dev_appserver with the following flags:
--admin_console_server= --port=8080 --use_sqlite
Python command: /usr/local/bin/python2.7
ERROR 2012-11-22 05:24:13,142 dev_appserver_main.py:626] Fatal error when loading application configuration:
mapping values are not allowed here
in "/Applications/+++WWW+++/GAE/gae3web2py/app.yaml", line 9, column 9
如果有人能帮助我,我会非常感激,尤其是在美国“感恩节”的这一天! ;-)
使用建议的间距更新“app.yaml”文件。 但它仍然会给出同样的错误。
我甚至在这里尝试了它,它给出了同样的错误: 链接 > http://yaml-online-parser.appspot.com/
配置app.yaml
,需要使用空格将所有参数与其值分开(因此application:web2py
应该是application: web2py
等)。 尝试在冒号后面放一个空格(特别是在这一个之后: url:/(?P<a>.+?)/static/(?P<b>.+)
)并查看是否修复了错误。
这是您的YAML
语法的问题。 如果您对语法感到困惑, 可以在此处找到规范。 。
从第2.1节 - 集合:
YAML的块集合使用缩进作为范围并在其自己的行上开始每个条目。 块序列用短划线和空格(“ - ”)表示每个条目。 映射使用冒号和空格(“:”)来标记每个键:值对。 注释以octothorpe开头(也称为“hash”,“sharp”,“pound”或“number sign” - “#”)。
尝试删除以下所有后续空格:
这对我app.yaml
,虽然我的app.yaml
还有一些其他错误,我还没有纠正。
我不知道谷歌GAE用来解释YAML文件,但PyYAML该文件是不是因为接受\\
中的价值static_files
。
这也恰好是文件的第9行(省略空行)。 所以我会先逃避这些价值观。
请注意, http : //yaml-online-parser.appspot.com/现在只是解析你的exmaple,但在将数据从textarea传递给PyYAML之前,它似乎默默地将\\1
转换为'\\ 2'。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.