如何在一个项目中创建两个本地Python包?

问题描述 投票:0回答:1

我当前的目录是这样设置的

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
文件吗?您是否需要为要创建的每个可安装包拥有这些文件的单独版本?

python setup.py python-packaging pyproject.toml
1个回答
2
投票

只需要一个文件。同一发行版中可以包含两个或多个顶级包。在

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
语法,您可以查看 这个答案

© www.soinside.com 2019 - 2024. All rights reserved.