我当前的目录是这样设置的
src
api
__init__.py
class1.py
py.typed
models
__init__.py
class2.py
py.typed
tests
test_class_1.py
test_class_2.py
requirements.txt
requirements_dev.txt
pyproject.toml
setup.cfg
setup.py
tox.ini
我已经制作了
models
一个可安装的包,以便我可以将其导入到我的 tests
目录中进行单元测试。我还想制作 api
一个可安装的包,这样我就可以做同样的事情。
有办法做到这一点吗?
您可以使用相同的
pyproject.toml
和 setup.cfg
文件吗?您是否需要为要创建的每个可安装包拥有这些文件的单独版本?
只需要一个文件。同一发行版中可以包含两个或多个顶级包。在
pyproject.toml
中(不需要setup.cfg
/setup.py
):
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[tool.setuptools.package-dir]
"" = "src"
[tool.setuptools]
packages = ["api", "models"]
奇怪的
"" = "src"
语法被传递到 distutils,并且记录在那里。对于显示相同内容的更熟悉的 setup.py
语法,您可以查看 这个答案。