app.yaml / 项目文件结构适用于 App Engine localhost debugger,但不适用于 Goo


这个问题

可能是因为我对Python和应用程序引擎中的项目结构了解有限,以及对app.yaml文件的理解有限。

我有一个python 2.7项目,其文件结构如下所示:

Project_name>   app.yaml  >蟒蛇     __init__.py    > package_folder1       __init__.py       package1_file.py    > package_folder2       __init__.py

我的app.yaml文件中有这个:

- 网址:/包1/资源1  脚本:package_folder1.package1_file1.py  安全:始终

使用应用程序引擎的模拟器在本地主机上调试时,这工作正常,但在服务器上,当我尝试访问资源/package1/resource1时,我收到此警告(在这种情况下是一个错误,因为脚本未提供):

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

我还尝试将 app.yaml 文件中的行更改为此script: package_folder1.package1_file1.py,但仍然收到相同的错误。

有什么想法吗?谢谢!

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
您使用的是

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

相关内容

最新更新