我的大部分代码都在project.py 中,它需要第二个文件otherfile.py。目前,我只是将它们安装为两个具有相同 setup.py
(带有 py_modules 变量)的独立模块,但我认为是时候正确打包了,因为 project.py 正在增长,我可能会这样做需要进一步拆分。
用户只需要与project.py中的一些类和函数进行交互,因此为了保持兼容性,我想使用以下结构:
project/
__init__.py # (renamed from project.py)
otherfile.py
但是我读到 __init__.py
应该保持几乎为空。另一种选择是:
project/
__init__.py
project.py
otherfile.py
并将用户可以看到的 project.py
中的所有内容导入到 __init__.py
中,因为我想避免为用户添加额外的命名空间:
import project.project
我不确定这是否真的重要,但我想以“正确的方式”做事。
最佳答案
您可以使用第二个结构,但在您的 __init__.py
中,只需...
from .project import PublicClass1
from .project import PublicClass2
from .project import PUBLIC_CONSTANT_A
...
基本上,只在 __init__.py
中导入您真正想要公开的内容,同时保持 __init__.py
基本上没有代码逻辑。
关于python - 如何构建我的 Python 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17090139/