【发布时间】:2020-06-11 06:46:19
【问题描述】:
对于带有setup.py 的传统 Python 项目,有多种方法可以确保版本字符串不必在整个代码库中重复。有关推荐列表,请参阅 PyPA's guide on "Single-sourcing the package version"。
许多人正试图从setup.py 转移到setup.cfg(可能是在PEP517 和PEP518 的影响下;无论如何setup.py 大多以声明方式使用,当setup.py 中有逻辑时,情况可能更糟。)这意味着大多数建议将不再有效,因为setup.cfg 不能包含“代码”。
如何为使用 setup.cfg 的 Python 项目提供包版本的单一来源?
【问题讨论】:
-
我不会调用 PyPA 及其指南和教程 official(但它们是最接近 Python 打包的 官方 的)。
setup.cfg与 PEP 517、PEP 518 没有太大关系,它早就存在(但是是的,我明白你的意思)。并且您需要 PyPA 建议的第 5 版。 -
@sinoroc 非常感谢您的评论。随意编辑帖子以使其更正确,我会立即批准。
-
对不起,挑剔,绝对没有必要。无论如何,由于它使用
setup.py中的代码,因此不能直接回答您的问题,但这是我在项目中的做法:sinoroc.gitlab.io/kb/python/project_version.html