【发布时间】:2021-10-11 03:08:28
【问题描述】:
Python Packaging Tutorial 建议“应首选静态元数据 (setup.cfg)。动态元数据 (setup.py) 应仅在绝对必要时用作逃生舱口。setup.py 过去是必需的,但可以在较新版本的 setuptools 和 pip 中省略。"
guide to packaging and distributing projects 解释说“setup.cfg 是一个 ini 文件,其中包含 setup.py 命令的选项默认值。有关示例,请参阅 PyPA 示例项目中的 setup.cfg。”
那个例子完全没用,而且似乎没有很多其他有用的信息。本教程中的示例表明,setuptools.setup() 的一些或全部有效参数可以列在setup.cfg 中,但没有对此效果的真正解释。特别是,不清楚如何将列表参数(例如非常常见且重要的install_requires 参数)转换为setup.cfg 中的行。
我通过推理和实验确定的正确方法如下:
[options]
install_requires =
dependency_1
dependency_2
显然,最好在某个地方正确记录这一点,这样新的包创建者就不必为了指定项目的依赖项而经历类似的过程。
是否存在此类文档?
【问题讨论】:
标签: python setuptools packaging setup.py