【发布时间】:2014-01-06 02:55:24
【问题描述】:
我正在使用 python 2.7 和 Google 应用引擎构建一个由多个模块组成的网站。
我的意思是,我希望以类似时尚的应用程序构建每个模块。
为了实现我的目标,我使用包含 (https://developers.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Includes) 设置了多个 *.yaml 文件。 它似乎在做我想做的事情,直到......没有加载任何辅助模块......我可以在本地使用 python 中的“导入”加载器,但我正在寻找可以与应用程序引擎一起使用的不那么 hacky 的东西部署程序(以及在 Google 服务器上)。 基本上我的问题是我不知道如何“包含”所有 python 模块(因为它们位于不同的目录中,由不同的 yaml 管理)。我看了看文档,似乎没有解释。
我不希望将它们作为单独的模块运行,这可能是一种处理方式。 我可以接受它,但我遇到了类似的情况:如何在每个模块中包含/打包公共代码?
由于我没有任何工作,我没有包含示例代码或 yaml。
感谢您的帮助!
@TimHoffman 和@EzequielMuns
谢谢,我实施了建议的更改:
导入操作系统 导入系统 sys.path.append("[absolute_path_to_be_sure]/used_app")得到:
文件“[...]/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py”,第 903 行,在 load_module raise ImportError('No module named %s' % fullname) ImportError: 没有名为 DefaultHandler 的模块似乎沙盒阻碍了(返回 this 的函数似乎是硬编码的)。
Defaulthandler 是一个 Python 类,它位于 used_app 的根模块中。我在尝试导入时遇到错误。
我的目录结构如下:
- main_app - 应用程序.yaml - 我的应用程序.py -处理程序.py - used_app - 默认处理程序.py - include.yaml(虽然我不确定它现在对我有用)例如,Handler 继承 DefaultHandler。
【问题讨论】:
-
我认为您需要重写您的问题,非常具体地指出您在哪里指的是 python 模块以及您在哪里指的是 Google App Engine Modules。您至少可以发布您拥有的目录结构吗?
标签: python google-app-engine python-2.7