Python App Engine SDK仅加载默认模块

时间:2014-09-10 09:14:57

标签: python google-app-engine

我有一个App Engine应用程序包含3个模块和dispatch.yaml。它在生产中完美运行,但是在开发服务器上(使用GAE Launcher)只加载默认模块。

启动器运行的命令:

Running command: "['D:\\Python27\\pythonw.exe', 'D:\\Program Files (x86)\\Google\\google_appengine\\dev_appserver.py', '--skip_sdk_update_check=yes', '--port=10081', '--admin_port=8002', 'D:\\path\\to\\my\\app']"

我知道在使用命令行运行dev_appserver.py时,可以将所有模块指定为参数。使用启动器时有没有办法呢?

2 个答案:

答案 0 :(得分:3)

我相信这与你对像PyCharm这样的IDE一样,你可以在Extra Flags部分传递yaml文件(对于每个模块)。

  1. 双击App Engine Launcher中的实例
  2. 在Extra Flags下,添加模块的所有yaml文件,用空格分隔" app.yaml app2.yaml app3.yaml"

答案 1 :(得分:2)

Bardia's回答是正确的。但是,在自己遇到问题并与GAE支持工程师交谈之后,我又添加了一些细节。 official GAE documentation目前缺少此信息,但Google计划很快将其添加。

使用Google App Engine Launcher来运行'或者'部署'使用您首先需要的模块的应用程序:

  1. 双击Google App Engine Launcher中的应用程序,打开“应用程序设置”窗口。

  2. 在Extra Flags下,列出以空格分隔的yaml文件。指定完整文件路径。如果您使用路由文件dispatch.yaml,请先列出它。请勿包含app.yaml,因为默认情况下已包含此内容。

  3. e.g。 /Users/.../dispatch.yaml /Users/.../app2.yaml / Users /.../ app3.yaml

    还有一篇博文,解释了如何操作,在这里:

    http://www.shiftedup.com/2014/11/11/running-modules-locally-using-the-googleappenginelauncher-application

    <强>更新

    Yaron评论说此方法仅在您点击“运行”时才有效。按钮可以在localhost上运行,但是当您单击“部署”按钮时它不起作用。部署到生产。我检查过,我遇到了同样的问题,所以我联系了谷歌支持。他们告诉我,Google App Engine Launcher现已存档,不再受支持。相反,我们应该使用新的&#39; gcloud preview app deploy&#39;命令。

    要部署多个模块,请在命令行中键入以下内容:

    Error in is.data.frame(data) : object 'd' not found

    这很遗憾,因为我非常喜欢Google App Engine Launcher。