0

この問題は、Pythonとアプリエンジンのプロジェクト構造についての理解が限られていることと、app.yamlファイルについての理解が限られていることが原因である可能性があります。

ファイル構造が次のようなPython2.7プロジェクトがあります。

Project_name
 > src
   app.yaml
   > python
     __init__。py
     > package_folder1
       __init__。py
       package1_file.py
     > package_folder2
       __init__。py

私のapp.yamlファイルにはこれが含まれています:

-url:/ package1 / resource1
  スクリプト:package_folder1.package1_file1.py
  安全:常に

これは、App Engineのシミュレーターを使用してローカルホストでデバッグする場合は正常に機能しますが、サーバーでは、リソースにアクセスしようとすると、この警告が表示されます(この場合、スクリプトが提供されていないため、エラーになります)/package1/resource1

File referenced by handler not found: python.package_folder1.package1_file1.py

また、app.yamlファイルの行をこれに変更しようとしましたがscript: package_folder1.package1_file1.py、それでも同じエラーが発生しました。

何か案は?ありがとう!

4

2 に答える 2

1

Python2.5またはPython2.7を使用しているランタイムは何ですか?どちらかを使用する場合、いくつかの違いがあります。また、プロジェクト構造のどこにapp.yamlファイルを保存していますか?

Python 2.5の場合は、実際のP​​ythonスクリプトを指定しますが、Python 2.7の場合は、WSGIアプリケーションを指定します。詳細については、 https://developers.google.com/appengine/docs/python/config/appconfig#Script_Handlersをご覧ください。

ランタイムは、キーruntimeを使用してapp.yamlファイルで定義されます。

runtime: python   #python 2.5
runtime: python27 #python 2.7
于 2012-05-25T21:37:10.097 に答える
1

PythonフォルダーはPythonランタイム全体ですか?もしそうなら、あなたはそれを含めるべきではありません。

Project_name
> src
  app.yaml
  > package_folder1
    __init__.py
    package1_file.py
  > package_folder2
    __init__.py

app.yamlファイルでスクリプトを指定するには、ピリオドの代わりにスラッシュを使用します。

script: package_folder1/package1_file1.py
于 2012-05-26T19:05:31.997 に答える