0

这个问题可能是我对 Python 和应用引擎中的项目结构理解有限以及对 app.yaml 文件理解有限的结果。

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

项目名称
 > 源
   应用程序.yaml
   > 蟒蛇
     __init__.py
     > package_folder1
       __init__.py
       package1_file.py
     > package_folder2
       __init__.py

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

- 网址:/package1/resource1
  脚本: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,但仍然出现相同的错误。

有任何想法吗?谢谢!

4

2 回答 2

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
于 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 回答