假设您有一个 Python 程序,仅使用
pyproject.toml
即可成功打包。有什么缺点?在这种情况下为什么使用 setup.py
或 setup.cfg
?
没有
setup.py
并没有什么坏处。只是在某些特定情况下,包装的某些元素无法以描述性方式(即没有代码)用setup.cfg
或pyproject.toml
来表达。范围可以从一些自定义动态包元数据到自定义非 Python 代码的打包处理以及许多其他内容。
我的建议是:
尽可能避免使用
setup.py
,如果你可以完全不用这个脚本,那就不用它
pyproject.toml
:
[build-system]
部分,强烈建议将此部分独立于您是否有 setup.cfg
文件和/或 setup.py
脚本
[project]
部分,并尽可能避免动态字段
对于setuptools特有的部分,您可以选择将它们放在
pyproject.toml
(在[tool.setuptools]
部分下)或setup.cfg
中,根据您的喜好
相关: