2017-09-24 21 views
1

最初の投稿はスタックオーバーフロー時です。投稿エラーをご容赦ください。
私はこれで多くの時間を費やしました。私は500サーバーエラーで始めました。App Engine;ハンドラが参照しているファイルが見つかりません:main.py

この長い間、pythonが見つかりません。私のアプリはJS、CSS、HTMLのみです。 (今の時点で)私は私の研究を通してそこに誤りがあるなら、私は自分自身のためにルールを外すことができないので、yamlを含めました。

ポインターをいただければ幸いです。

ありがとうございました。

マイapp.yaml

application: application 
    version: secureable 
    runtime: python27 
    api_version: 1 
    threadsafe: false 

    handlers: 
    - url: /(.*\.(gif|png|jpg|ico|js|css)) 
     static_files: \1 
     upload: (.*\.(gif|png|jpg|ico|js|css)) 

    - url: /robots.txt 
     static_files: robots.txt 
     upload: robots.txt 

    - url: .* 
     script: main.py 

    inbound_services: 
    - mail 

エラー:

 httpRequest: { 
     status: 500 

    0: { 
    logMessage: "File referenced by handler not found: main.py"  
    severity: "WARNING"  
    time: "2017-09-24T21:12:30.191830Z"  
    } 
    ] 
    megaCycles: "2" 
    method: "GET" 
    requestId: resource: "/index.html" 
    startTime: "2017-09-24T21:12:30.138333Z" 
    status: 500 
    traceId: "618d060203d57aea2bfddc905e350698" 
    urlMapEntry: "main.py" 
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0)  Gecko/20100101 Firefox/55.0" 
    versionId: "secureable" 
} 
receiveTimestamp: "2017-09-24T21:12:30.926277443Z" 
resource: { 
    labels: { 
    module_id: "default"  
    project_id: "Application"  
    version_id: "secureable"  
    zone: "us9"  
    } 
    type: "gae_app" 
    } 
severity: "WARNING" 
timestamp: "2017-09-24T21:12:30.138333Z" 
} 
+0

私はこれをアプリケーションエンジンのデプロイメントに含めるべきです。 URLは「管理者に連絡するか、30秒後にもう一度お試しください」と返されます。エラー500コードが記載されています。 – Amp1776

答えて

1

app.yamlファイルのhandlersセクションであなたのscript: main.py文が間違っている、それはscript: main.appする必要があります。

Handlers elementテーブルでscript行から(悲しいことに、適切にそれを読みやすくするために、ページのソースからの引用を含め、フォーマットされていません):

script

A script: directive must be a python import path, for example, package.module.app that points to a WSGI application. The last component of a script: directive using a Python module path is the name of a global variable in the module: that variable must be a WSGI app, and is usually called app by convention.

2

あなたのアプリは唯一のHTML、CSS、およびJSであれば、あなたはすべて一緒にPythonスクリプトのキャッチオールポインタを削除し、代わりにHosting a Static Website on App Engine tutorialに示すようなapp.yamlの形式を使用することができます:あなたは、サーバー側のLOを追加したい場合はその後

runtime: python27 
api_version: 1 
threadsafe: true 

handlers: 
- url:/
    static_files: www/index.html 
    upload: www/index.html 

- url: /(.*) 
    static_files: www/\1 
    upload: www/(.*) 

をPythonモジュールを使っている場合は、scriptというハンドラを追加することができます。この手順を実行するときは、[script_name].[var_pointing_to_wsgi_application_in_script]の形式でインポートスタイルポインタを使用します。したがって、main.pyがあり、その中にapplicationという変数がWSGIアプリケーションに設定されている場合は、script: main.applicationを使用します。

通常、WSGIアプリケーションはwebapp2(example)またはFlask(example)です。

関連する問題