将GAE应用程序从python 2.5迁移到2.7

时间:2012-06-06 08:21:14

标签: google-app-engine python-2.7

我正在尝试迁移我的应用,一切正常,直到我在app.yaml中更改 从 threadsafe:false threadsafe:true

我收到的错误是:

无法使用CGI处理程序启用

threadsafe:a / b / xyz.app

经过一些谷歌搜索,我发现:

只有顶级目录中的脚本才能用作处理程序,因此如果您有任何子目录,则需要移动它们,并相应地更改脚本引用:

- url:/无论
  #这不起作用...
  #script:lib / some_library / handler.app
  #...这确实有效   script:handler.app

有没有解决方法(如果以上研究有效),因为我不想改变我的项目hirarchy?

2 个答案:

答案 0 :(得分:4)

只要它是有效的python导入路径,您就可以将处理程序放在任何位置。

我的app.yaml充满了像

这样的条目
- url: /_ah/queue/deferred
  script: google.appengine.ext.deferred.application
  login: admin

文件夹中需要__init__.py才能使它们作为模块运行,但您通常可以用/替换任何.

或者像Daniel建议的那样做,并注意你可能必须首先将sys.path变为包含lib dir,然后导入处理程序。

答案 1 :(得分:2)

将主文件放在顶级目录中并导入所有处理程序,然后通过该文件引用它们