簡體   English   中英

app.yaml /項目文件結構適用於app引擎localhost調試器,但不適用於谷歌應用引擎服務器

[英]app.yaml / project file structure works on app engine localhost debugger but not on google app engine server

這個問題可能是由於我對Python和app引擎中項目結構的理解有限,以及我對app.yaml文件的理解有限。

我有一個python 2.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
  script: package_folder1.package1_file1.py
  secure: always

這在使用app引擎的模擬器在localhost上調試時工作正常,但在服務器上,當我嘗試訪問資源/package1/resource1時,我收到此警告(在這種情況下是一個錯誤,因為腳本沒有被提供):

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

我還嘗試將app.yaml文件中的行更改為此script: package_folder1.package1_file1.py並仍然出現相同的錯誤。

有任何想法嗎? 謝謝!

您使用python 2.5或python 2.7的運行時是什么時候? 使用其中一個時存在一些差異。 此外,您的項目結構中存儲app.yaml文件的位置?

對於python 2.5,您指定實際的python腳本,但是對於python 2.7,您指定了WSGI應用程序。 有關詳細信息,請參閱https://developers.google.com/appengine/docs/python/config/appconfig#Script_Handlers

運行時在app.yaml文件中使用密鑰運行時定義。

runtime: python   #python 2.5
runtime: python27 #python 2.7

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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