【发布时间】:2011-08-04 12:48:59
【问题描述】:
我创建了一个文件夹,其中包含我的 GAE 应用程序的所有模块以及 Jinja2 等外部库,以将所有内容分类在一个地方。我有这样的文件夹结构:
lib\
\utils\
\__init__.py
\firepython
\jinja2
\jsonpickle
__init__.py
sessions.py
当我尝试从 utils__init__.py 加载 Jinja 时,我收到错误 ImportError: No module named jinja2.environment。当我查看 Jinja2 导入指令时,我看到它们看起来像 from jinja2.loaders。我尝试将它们更改为from lib.jinja2.loaders,但随后会出现一些关于导入的其他错误。不仅如此,如果有更方便和正确的方法来正确导入模块,我认为在外部库源中更改这些导入不是一个好习惯。我还添加了一些到PYTHONPATH 的路径,但它并不能解决所有问题。如何正确导入放置在另一个文件夹中的外部包,可能具有深层结构?
【问题讨论】:
-
您在导入模块之前尝试过
sys.path.append(path_to_jinja2)并没有帮助吗?
标签: python google-app-engine jinja2 pythonpath