【发布时间】:2019-01-18 09:58:10
【问题描述】:
我们有一个结构如下的包:
ParentDirectory/
Able/
__init__.py
Baker/
__init__.py
stuff.py
Charlie/
__init__.py
things.py
使用 PYTHONPATH 中的 ParentDirectory,Charlie 以普通方式导入:
from Able.Baker import Charlie
我的一位同事想让 PYTHONPATH 包含“ParentDirectory;ParentDirectory/Able;ParentDirectory/Able/Baker”,以便他们可以直接导入 Baker 和 Charlie,就好像他们是顶级的一样:
import Able
import Baker
import Charlie
这会破坏什么?
(对我来说这似乎是一种不好的做法,但我无法说出它不好的具体原因。)
【问题讨论】:
-
(我们需要从多个 Anaconda 环境中获得这个外部目录,这就是为什么 PYTHONPATH 而不是 .pth 文件的原因)
-
如果您希望能够单独导入每个包...也许它们应该是单独的包?
-
@Aran-Fey 我正在尝试提出具体的例子来说明为什么替代方案不好。
标签: python python-import python-module python-packaging