TLDR;
问题是,正如标题所述。
是撞还是不撞?
我开始使用bump2version,然后发现了setuptools_scm (对于开发成熟的python程序来说相当新),现在我感到困惑了。
https://setuptools.readthedocs.io/en/latest/history.html#v20-6-0 (我知道,我使用v40-x-x)提到了保险杠的集成,但是没有提到在随后的changelogs中放弃对保险杠的支持。
同时,扩展和重用Setuptools文档中的setuptools部分提到了与git、Hg和svn集成的setuptools_scm (和setuptools_svn)。
BLAB (底线在底部)
因此,问题是:保险杠是否已过时?
附录
为了进一步澄清,我将尝试进一步解释我的用例。
我有一个有多个子项目的超级项目。
super
├───base/
├───core/
├───lib/
├───version/requirements.txt
└───modules/
├───module-1/
├───module-2/
├───module-3/
├───module-4/
└───module-5/超级是一个主git,每个子项目都是一个子模块(它们有自己的子模块),当然,每个子项目都维护自己的发行版本(这很容易)。
该项目的发行版由已签署的模块组成,这些模块与其他所有内容相互兼容。
我现在的方法
目前,我正在使用一个名为version的子模块,它维护一个requirements.txt + pyproject.toml,并将整个功能整合到一个可分发的包中。遵循https://github.com/pypa/pipfile/issues/27中的指导原则,并从https://caremad.io/posts/2013/07/setup-vs-requirement/中略带借鉴
问题仍然存在:是否有一种规范的方法来做这样的事情?
发布于 2021-05-12 22:15:33
如果使用setuptools_scm,可能不需要bump2version。反之亦然。
在Python中没有“规范”的方法来增加版本。存在多个工具,您可以使用您喜欢的工具(或者根本不使用)。
setuptools变更日志中的消息是关于setuptools作者在自己的Git存储库中使用的信息。他们仍然使用bump2version,就像在此配置文件中看到的那样。
setuptools_scm和setuptools在名称上是相似的,但它们完全独立。
https://stackoverflow.com/questions/56921528
复制相似问题