python - setuptools_scm 可用时是否需要bumpversion(或bump2version)?

标签 python versioning setuptools bump2version setuptools-scm

TLDR;
问题如标题所说。
撞还是不撞?
我开始使用bump2version,然后发现了setuptools_scm(对于开发成熟的python 程序相当陌生),现在我很困惑。
https://setuptools.readthedocs.io/en/latest/history.html#v20-6-0 (古老,我知道,并且我使用 v40-x-x)提到了bumpversion 的集成,但是,在后续的变更日志中没有提到曾经放弃对bumpversion 的支持。
同时,setuptools 文档的 1.4 Extending and Reusing Setuptools 部分提到了 setuptools_scm(和 setuptools_svn)用于与 git、Hg 和 svn 集成。
BLAB(底线在底)
所以,问题是:bumpversion 是否已过时/已过时?

附录
为了进一步澄清,我将尝试更多地解释我的用例
我有一个包含多个子项目的 super 项目。

super
├───base/
├───core/
├───lib/
├───version/requirements.txt
└───modules/
    ├───module-1/
    ├───module-2/
    ├───module-3/
    ├───module-4/
    └───module-5/
super 是一个 master git,每个子项目都是一个子模块(有自己的子模块),当然,每个子项目都维护自己的发布版本(这很容易)
该项目的一个版本由与其他所有内容相互兼容的已签署模块组成。
我目前的做法
我目前正在使用一个名为 version 的子模块,它维护一个 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中的留言更改日志是关于 setuptools 作者在他们自己的 Git 存储库中使用的内容。他们仍然使用bump2version,见this config file .
项目setuptools_scmsetuptools名称相似,但它们完全独立。

关于python - setuptools_scm 可用时是否需要bumpversion(或bump2version)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56921528/

相关文章:

python - 如何使用boto3获取公共(public)IP

python - Sublime Text 3 仍然使用 python 2.7。 [我已经卸载它并安装了python 3.3]

web-services - Web 服务 API 版本控制

javascript - 客户端版本控制(javascript + css)

visual-studio - 如何使用 Visual Studio 将文件版本嵌入 MSI 文件中?

python - 在任何文本编辑器中使用 Python Shell

python - 在函数之外的 golang 中设置常量,就像在 Python 中一样

python - 在 Windows 上构建 Python C 扩展

python - 静态文件的 "pip install"和 "setup.py install"有什么区别

python-3.x - 在 setup.py 中找出这个包是从哪个存储库安装的?