2013-07-07 24 views
10

Tôi đang theo hướng dẫn tại https://developers.google.com/appengine/docs/python/gettingstartedpython27/introductionGoogle là công cụ ứng dụng python 2.7 hướng dẫn sẽ không chạy

app.yaml của tôi là:

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

handlers: 
- url:/
    script: helloworld.application 

và helloworld.py là:

import webapp2 


class MainPage(webapp2.RequestHandler): 

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


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

Đầu ra nhật ký là:

*** Running dev_appserver with the following flags: 
    --skip_sdk_update_check=yes --port=10090 --admin_port=8001 
Python command: /usr/bin/python2.7 
Traceback (most recent call last): 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/dev_appserver.py", line 182, in <module> 
    _run_file(__file__, globals()) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/dev_appserver.py", line 178, in _run_file 
    execfile(script_path, globals_) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 695, in <module> 
    main() 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 688, in main 
    dev_server.start(options) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 525, in start 
    options.yaml_files) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/application_configuration.py", line 556, in __init__ 
    server_configuration = ServerConfiguration(yaml_path) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/application_configuration.py", line 82, in __init__ 
    self._yaml_path) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/application_configuration.py", line 272, in _parse_configuration 
    return appinfo_includes.ParseAndReturnIncludePaths(f) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/appinfo_includes.py", line 63, in ParseAndReturnIncludePaths 
    appyaml = appinfo.LoadSingleAppInfo(appinfo_file) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/appinfo.py", line 1715, in LoadSingleAppInfo 
    listener.Parse(app_info) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/yaml_listener.py", line 226, in Parse 
    self._HandleEvents(self._GenerateEventParameters(stream, loader_class)) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/yaml_listener.py", line 177, in _HandleEvents 
    raise yaml_errors.EventError(e, event_object) 
google.appengine.api.yaml_errors.EventError 

Tôi đang chạy trên một macbook pro, sử dụng python 2.7 Tôi đang sử dụng trình khởi chạy ứng dụng. Bất kỳ ý tưởng?

+0

Ngoại lệ của bạn có bị cắt không? Tôi nghĩ rằng nên có một thông báo lỗi sau tên ngoại lệ 'EventError' trên dòng cuối cùng. –

+0

Không, nó không bị cắt đứt, thats tất cả nó nói – user2558615

+0

Sau khi lưu app.yaml với text wrangler tôi quản lý để có được một lỗi thông tin hơn. 'google.appengine.api.yaml_errors.EventError: Loại trình xử lý url không xác định. trong "/ Users/Evan/helloworld/app.yaml ", dòng 9, cột 1 ' – user2558615

Trả lời

10

Tôi cũng gặp phải sự cố tương tự. Nó có liên quan đến việc mã hóa tệp khi bạn sao chép trực tiếp từ trang web. Tránh làm điều này và đảm bảo rằng tệp của bạn có mã hóa yaml thích hợp. Dưới đây là ví dụ để giúp bạn bắt đầu cho tệp app.yaml

application: your-app-id 
version: 1 
runtime: python27 
api_version: 1 
threadsafe: true 

handlers: 
- url: /.* 
    script: helloworld.application 
+0

Có điều này là vấn đề.Tôi cuối cùng tôi đã tìm ra nó, nhưng nó là một sự lãng phí thời gian đáng tiếc.Cảm ơn – user2558615

+0

Rất hữu ích.Cảm ơn !!! – jap1968

4

Tôi cắt và dán ứng dụng.yaml từ Chrome vào gnome-terminal và gặp lỗi tương tự. Cuối cùng, tôi đã mở app.yaml trong vi và thấy rằng nó chứa một dấu đánh dấu văn bản UTF. Ngay sau khi tôi gỡ bỏ điều đó, mọi thứ bắt đầu hoạt động.

Đạo đức của câu chuyện: nếu bạn thấy lỗi này, hãy kiểm tra ứng dụng của bạn.yaml để đánh dấu không tốt, ký tự xấu và bất kỳ điều gì khác xấu. (Mặc dù DOS không phải là dòng mới - máy chủ ứng dụng dev đối phó với chúng.)

1

Thử xóa ký tự đặc biệt trước dòng ứng dụng trong app.yaml. Có vẻ như không ở đó nhưng chỉ cần điều hướng con trỏ của bạn đến vị trí trước khi sau đó nhấn backspace để xóa nó.

8

Trong trường hợp của tôi, sự cố là mức thụt lề của dòng "tập lệnh".

Nó giống như:

handlers: 
- url: /.* 
script: helloworld.php 

nhưng phải như thế này:

handlers: 
- url: /.* 
    script: helloworld.php 
+0

arrgh python ... –

0

Để hoàn thành về câu trả lời @Fernando Basso của, mục đích đúng trên dòng kịch bản nên hai không gian, nhưng không phải một tab vì nó sẽ được đọc dưới dạng ký tự \ t cũng sẽ tạo ra lỗi.

Các vấn đề liên quan