【发布时间】:2014-08-12 19:11:40
【问题描述】:
我一直在尝试创建一个包含各种模块的 Google App Engine 项目,每个模块都有不同的版本;但我无法让它工作。
我浏览了google modules guide website 上的所有内容,但他们对应用程序层次结构的描述非常模糊。我下载了一个简单的测试应用程序,看看它是如何工作的(我无法开始工作)。
这是应用程序现在的结构: http://www.iteratorium.eu/stackoverflow/structure.jpg
整个事情都在这里压缩: http://www.iteratorium.eu/stackoverflow/flask_app.zip
共有三个模块:default、my-module 和 mobile-frontend,并且 my-module 和 mobile-frontend 在目录 v_one 和 v_two 中都有两个版本。每个版本都有自己的 .yaml 文件,其中包含一个处理程序(为了测试目的而保持简单)
结构至少是正确的吗?当我通过 dev_appserver.py 文件加载应用程序时,只要我不加载同一模块的两个版本,一切都很好。在这种情况下,会发生这种情况:
me@MY_COMPUTER:~/flask_app$ python ~/google_appengine/dev_appserver.py dispatch.yaml app.yaml mobile-frontend/v_one/mobile-frontend.yaml my-module/v_one/my-module.yaml my-module/v_two/my-module.yaml
导致回溯和以下结果:
google.appengine.tools.devappserver2.errors.InvalidAppConfigError: Duplicate module: my-module
(两个版本都通过appcfg.py上传到appengine没有任何错误,可能只是localhost服务器无法处理多个版本)
如果我只加载每个模块的一个版本,一切正常,但模块无法从 lib 目录导入任何内容。
通过浏览器访问http://localhost:8082/mobiler 会在终端中出现:
from flask import Flask
ImportError: No module named flask
我在 appengine_config.py 文件中定义了 lib 文件夹的路径,但它似乎不适用于模块。那是我停下来决定来这里的地方,因为我什至不确定结构是否正确,而且我可能无法完成所有这些。
那么...我离我还有多远?
【问题讨论】:
-
如您所说,问题在于本地开发服务器无法同时处理同一模块的版本。话虽如此,模块似乎没有运行 appengine_config.py,所以它们根本没有加载 Flask
标签: python google-app-engine flask