你如何引用 python 包的其他分支?
How do you reference other branches of a python package?
我正在尝试创建一个 python 程序包,其中一个分支中的代码引用并行分支中的代码。
例如:
my_package/
├─utils/
│ └─foo.py
└─other_branch/
└─bar.py
如何在 other_branch.bar.py
中引用 utils.foo.py
中的代码?
如果 my_package
是一个有效的包,您可以像往常一样从中导入:
import my_package.branch_1.foo
或者,您可以使用相对导入:
import ..branch_1.foo
有关详细信息,请查看 documentation。
做那样的事情通常是不好的做法。层次结构在逻辑上和结构上都应该是层次结构。
正确设计项目时,每个目录只需要其子目录中的包。
话虽这么说,你应该能够做这样的事情:
foo.py
:
from ..branch_2 import bar
您应该确保所有目录中都有 __init__.py
。
我正在尝试创建一个 python 程序包,其中一个分支中的代码引用并行分支中的代码。
例如:
my_package/
├─utils/
│ └─foo.py
└─other_branch/
└─bar.py
如何在 other_branch.bar.py
中引用 utils.foo.py
中的代码?
如果 my_package
是一个有效的包,您可以像往常一样从中导入:
import my_package.branch_1.foo
或者,您可以使用相对导入:
import ..branch_1.foo
有关详细信息,请查看 documentation。
做那样的事情通常是不好的做法。层次结构在逻辑上和结构上都应该是层次结构。 正确设计项目时,每个目录只需要其子目录中的包。 话虽这么说,你应该能够做这样的事情:
foo.py
:
from ..branch_2 import bar
您应该确保所有目录中都有 __init__.py
。