【问题标题】:Do I need a setup.cfg if I have a setup.py?如果我有 setup.py,是否需要 setup.cfg?
【发布时间】:2021-05-13 01:25:40
【问题描述】:
我使用 setuptools 来构建我的 python 包。我只使用了一个 setup.py 文件,但我根据this tutorial 添加了一个 pyproject.toml,它似乎最近已更新为包含该文件。
我无法从该教程或this one 中看出,如果我仍在使用 setup.py,是否需要 setup.cfg,如果需要,其中应该包含什么。它确实显示了两者的文件树,但随后暗示文件结构仅用于指示(对于主要使用 setup.cfg 的人)
如果您创建 setup.py 文件,这将启用与 setup.py 的直接交互(通常应该避免)和可编辑的安装。该文件过去是必需的,但在现代设置工具中可以省略。
【问题讨论】:
标签:
python
build
setuptools
【解决方案1】:
如果您有 setup.py 文件,则不需要 setup.cfg 文件。 setup.cfg 的一种用途是覆盖 setup.py 文件中提到的默认值。如果您查看流行的库,我们仍然使用 setup.py 文件进行打包/分发。
【解决方案2】:
现在转向单独使用 setup.cfg,因为它是一个更安全的选择。从您提供的第二个link 开始。
从 setup.py 转换到 setup.cfg¶
为了避免执行任意脚本和样板代码,我们将转换为完整的 setup.cfg 来声明您的包信息,而不是运行 setup()。由于语法不同,这不可避免地带来了挑战。在这里,我们提供了一个快速指南,帮助您了解 setuptool 如何解析 setup.cfg 以减轻转换的痛苦。
我认为该功能取决于安装的 setuptools 版本。