tldr;
问题是标题所说的。
颠簸还是不颠簸?
我开始使用bump2version,然后发现了setuptools_scm(相当新的是开发成熟的python程序(,现在我感到困惑。
https://setuptools.readthedocs.io/en/latest/history.html#v20-6-0(我知道,我使用V40-X-X(提到了碰碰的整合,但是,没有提及随后的变形值中遇到的撞击支持。
同时,1.4扩展和重复使用setuptools文档的setuptools部分提到了setuptools_scm(和setuptools_svn(,以与git,hg和svn集成。
blab(底线 - 底部(
那么,问题是:bumpversion是否已贬值/过时?
附录
为了进一步澄清,我将尝试更多地解释我的用例
i有一个具有多个子项目的超级项目。
super
├───base/
├───core/
├───lib/
├───version/requirements.txt
└───modules/
├───module-1/
├───module-2/
├───module-3/
├───module-4/
└───module-5/
超级是主git,每个子标记作为子模块(具有自己的子模块(,当然,每个子模型都保持着自己的释放版本(这很容易(
该项目的发布由与其他所有内容相互兼容的签名模块组成。
我当前的方法
我目前正在使用称为版本的子模块,该子模块维护 requirements.txt
pyproject.toml
并将整个内容拉到可分布的包装中。遵循https://github.com/pypa/pipfile/issues/27中的指南,并从https://caremad.io/posts/2013/07/setup-vs-requirement/
问题仍然存在:是否有这样做的规范方法?
如果使用setuptools_scm
,则可能不需要bump2version
。反之亦然。
没有"规范"在Python中碰到版本的方法。存在多种工具,您可以使用自己喜欢的工具(或根本没有(。
setuptools
ChangElog中的消息是关于setuptools作者在自己的git存储库中使用的信息。他们仍然使用bump2version,如此配置文件所示。
项目setuptools_scm
和setuptools
的名称相似,但它们完全独立。