我有4个文件:main.py, helper.py, clf.pkl, and tests.py.
Main.py
具有核心类。对于某些方法,它需要导入helper.py
,对于数据,它需要导入clf.pkl
。
一个带有4个文件的Python库的最小结构是什么?
答案 0 :(得分:0)
我将使用package来保存文件,并使用pyproject.toml
来描述您的项目,就像这样:
.
├── pyproject.toml
├── MANIFEST.in
├── your_package_name
│ ├── __main__.py
│ ├── helper.py
│ └── __init__.py
└── tests
└── tests.py
在您的__init__.py
文件中至少写:
"""A short description of your project"""
__version__ = "0.0.1"
(相应地更改描述和版本)。
要创建pyproject.toml
,可以使用flit init
:
pip install flit
flit init
在软件包中命名您的入口点__main__.py
,以便可以使用以下命令运行它:
python -m your_package_name
(是的,在其中使用if __name__ == "__main__":
仍然是一个好主意,因此您可以根据需要从测试中导入主要)。
您可以使用以下方法从helper.py
导入__main__.py
:
from your_package_name import helper
或:
from . import helper
(我更喜欢第一个,但我不知道是否有共识)。
要使您的clf.pkl
包含在包装中,您需要使用以下内容创建一个MANIFEST.in
:
include your_package_name/clf.pkl
您的pkl将在以下位置可用:
os.path.join(os.path.dirname(os.path.abspath(__file__)), "clf.pkl")
要使用flit install -s
进行测试并将其发布在PyPI flit publish
上。