这个问题可能是由于我对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上调试时这很好用,但在服务器上,当我尝试访问资源{{}时,我收到此警告(在这种情况下是一个错误,因为脚本没有被提供) 1}}:
/package1/resource1
我也尝试将app.yaml文件中的行更改为此File referenced by handler not found: python.package_folder1.package1_file1.py
,但仍然遇到同样的错误。
有什么想法吗?谢谢!
答案 0 :(得分:1)
你使用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
答案 1 :(得分: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