【发布时间】:2014-10-14 20:14:07
【问题描述】:
我在virtualenv 中有以下目录结构:
/dir_a/dir_b/__init__.py
/dir_a/dir_b/module_1.py
/dir_a/dir_b/module_2.py
/dir_a/dir_c/__init__.py
/dir_a/dir_c/module_3.py
/dir_a/__init__.py
/dir_a/module_4.py
在module_4.py里面,我可以成功导入module_1.py、module_2.py和module_3.py。另一方面,我无法在module_3.py 中导入module_4.py(例如import dir_a.module_4)。它抱怨:“没有名为 dir_a.module_4 的模块”
我在这里缺少什么?我需要在这里弄乱我的virtualenv 的 PYTHONPATH 吗?如果是这样,为什么 module_1.py、module_2.py 和 module_3.py 的导入都可以在不触及 PYTHONPATH 的情况下进行?
【问题讨论】:
-
这里的一个附带问题是拥有子项目
dir_b和dir_c应该意味着它们可能相互依赖,但绝不会依赖于自身之上的任何东西。
标签: python python-2.7 python-import pythonpath