6

저는 Google App Engine의 초보자이며 Python의 웹 개발을하고 있습니다. Python 기반의 작은 응용 프로그램을 만든 후 지난 6 일 동안 GAE에 업로드하려고했습니다. 아래의 "app.yaml"파일은 그 이후의 오류를 제공합니다. 파이썬 2.7.3 사용하는 동안Google App Engine | 파이썬 | 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 

구글 앱 엔진 (업데이트)를 GAE

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

에 다음과 같은 오류를

YAML 오류를 제공합니다

누군가 나를 친절하게 도와 줄 수 있다면, 나는 특히 감사 미국의 "추수 감사절"의 오늘! 제안 ;-)


은 "애플리케이션 제목을"파일은 간격으로 업데이트되었습니다 업데이트되었습니다. 그러나 그것은 여전히 ​​같은 오류를줍니다. Link>http://yaml-online-parser.appspot.com/

답변

1

당신의 app.yaml, 당신은 공백으로 그 값에서 모든 매개 변수를 구분해야하는 구성 (그래서 application:web2pyapplication: web2py해야한다 등 :

난이 같은 오류를주는 경우, 여기에 그것을 시도). 콜론 뒤에 공백을 넣고 (특히이 파일 뒤에 : url:/(?P<a>.+?)/static/(?P<b>.+)) 공백이 있으면 오류가 수정되는지 확인하십시오.

+0

고맙습니다. 사랑하는 RocketDonkey! 나는 당신의 제안을 시도하고 파일을 업데이트했지만 여전히 위에 주어진 오류가 있습니다. 추신 : 아주 재미있는 이름입니다. 나는 그것을 상상하려고 노력하고있다. ;-) –

+1

@zZz 문제 없음 - 여전히 같은 오류가 발생합니까? 연결 한 파서에 yaml 붙여 넣기가 제대로 작동하므로 필요한 경우 추가 디버깅에 도움이됩니다. – RocketDonkey

+0

친애하는 RocketDonkey, 친절한 도움에 감사드립니다. 나는 여전히 GAE와 Python Framework를 시험 중이다. 그리고 나는 물건이 어떻게 진행되고 개발되는지 계속해서 알려줄 것이다. –

1

YAML 구문과 관련된 문제입니다. 구문에 대해 혼란 스러우면 you can find the spec here.. 2.1 절에서

- 컬렉션 :

YAML의 블록 컬렉션 범위에 대한 들여 쓰기를 사용하여 자신의 행에 각 항목을 시작합니다. 블록 시퀀스는 대시 및 공백 ("-")이있는 각 항목을 나타냅니다. 매핑은 각 키 : 값 쌍을 표시하기 위해 콜론과 공백 (":")을 사용합니다. 주석은 octothorpe ("해시", "샤프", "파운드"또는 "숫자 기호"- "#"라고도 함)로 시작합니다. 나는 아직 수정하지 않은 내 app.yaml에서 다른 버그가 있었지만 :
후이 모든 후속 공간을 제거

+0

감사합니다, Esthete 친애하는 여러분! 위에서 RocketDonkey가 제안한 제안을 시도하고 파일을 업데이트했지만 위와 같이 오류가 발생했습니다. 당신이 그 링크에서 제공 한 정보를 언급했는데, 모든 것을 배울 수 있다면, 나는 Spacing에 대해 어리석은 의심을 품은 초보자가 아니었을 것입니다 !!! ;-) –

1

봅니다, 날 위해 일했습니다.

0

Google GAE이 YAML 파일을 해석하는 데 사용하는 것이 확실하지 않지만 Py3AML에 static_files의 값인 \ 때문에 파일을 사용할 수 없습니다.

이는 파일의 9 번째 줄 (빈 줄 제외)이기도합니다. 그래서 나는 그 값을 벗어나서 시작할 것입니다.

이제는 http://yaml-online-parser.appspot.com/이 예제를 구문 분석하지만, 텍스트 영역의 데이터를 PyYAML로 전달하기 전에 \1을 '\ 2'로 자동 변환하는 것처럼 보입니다.