2

我的目标:

我想在我的GIT存储库、 pypi存储库上的发行版以及使用该变量的源代码中保持一致的版本。__version__


细节:

我尝试使用pbr,它从 git 标签生成发行版,所以这两个版本将是一致的。但是,我不知道如何__version__在我的源代码中使变量与它们保持一致。(有几种方法可以从源中获取版本,但是如何将它连接到 git/distro?)

是否可以生成版本文件(解析表单源)或直接修改__version__变量?

4

2 回答 2

1

Python 3.8开始,标准库中直接有一个解决方案:__version__ = importlib.metadata.version('Example'). 请参阅使用 importlib.metadata

于 2019-10-22T20:43:21.960 回答
1

最后,我在这篇文章中找到了解决方案。

import pkg_resources  # part of setuptools
version = pkg_resources.require("MyProject")[0].version

更新

这篇文章展示了另一个更强大的解决方案:

from pbr.version import VersionInfo

package_name='MyProject'
info = VersionInfo(package_name)

version = info.version_string()
于 2019-05-02T08:46:20.897 回答