【问题标题】:Migrating GAE app from python 2.5 to 2.7将 GAE 应用程序从 python 2.5 迁移到 2.7
【发布时间】:2012-06-06 08:21:13
【问题描述】:

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

我收到的错误是:

无法使用 CGI 处理程序启用线程安全:a/b/xyz.app

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

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

- url: /随便
# 这行不通...
# 脚本:lib/some_library/handler.app
# ... 这确实有效
脚本:handler.app

是否有任何解决方法(如果上述研究有效),因为我不想改变我的项目层次结构?

【问题讨论】:

  • 谢谢你们有用的回答。

标签: google-app-engine python-2.7


【解决方案1】:

只要是有效的 python 导入路径,您就可以在任何地方使用您的处理程序。

我的 app.yaml 充满了类似的条目

- url: /_ah/queue/deferred
  script: google.appengine.ext.deferred.application
  login: admin

文件夹中需要__init__.py 才能使其作为模块工作,但您通常可以将任何/ 替换为.

或者按照 Daniel 的建议进行操作,请注意,您可能必须首先修改 sys.path 以包含 lib 目录,然后再导入处理程序。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-08-11
      • 2014-03-11
      • 1970-01-01
      • 2013-10-07
      • 1970-01-01
      • 2016-06-17
      • 1970-01-01
      • 1970-01-01
      • 2017-02-04
      相关资源
      最近更新 更多