Google App Engine - 导入我自己的源模块(多个文件)

时间:2009-01-13 02:33:57

标签: python google-app-engine

我正在编写GAE应用程序,但遇到以下问题时遇到了一些困难。

我创建了多个python文件(比如a.py和b.py),它们都存储在同一个文件夹中。我可以通过将URL映射到它们来调用a.py或b.py中的代码(使用app.yaml)。我还没弄清楚如何将代码从一个导入到另一个。

有人可以帮我解决这里需要的语法和/或任何配置吗?例如,我的印象是我可以通过在a.py中发出以下语句来将b.py中的代码包含在文件a.py中

import b

我对这种方法没有任何成功。具体来说,我收到此错误:

ImportError: No module named b

有什么建议吗?

谢谢,

马特

4 个答案:

答案 0 :(得分:8)

您是否尝试过导入,就像从顶层开始一样?喜欢

import modules.b

答案 1 :(得分:2)

如果找不到文件a.py和b.py,请确保在sys.path中包含相应的路径。

import sys
sys.path.append(r"/parent/of/module/b")

答案 2 :(得分:1)

请注意,GAE的常用模式不是每个都在app.yaml中独立映射,而是要有一个“处理程序”脚本,其中包含映射到它的所有(或所有静态和特殊)URL,以及让该脚本导入a和b并使用他们定义的处理程序。

答案 3 :(得分:1)

正如@toby所说,它必须像从顶层目录导入一样导入,并且名为 init .py的文件必须放在文件夹中。