簡體   English   中英

Google App Engine | Python |的app.yaml

[英]Google App Engine | Python | APP.YAML

我是Google App Engine的初學者,也是Python的Web開發人員。 在制作了一個基於Python的小應用程序后,我一直在嘗試過去6天將其上傳到GAE上。 下面的“app.yaml”文件給出了之后給出的錯誤。

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會出現以下錯誤

GAE上的YAML ERROR

*** 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM