获取Python中当前包的当前版本

问题描述 投票:0回答:3

我正在构建一个 Python 库,并且我在其中一个模块中需要获取该库的当前版本并根据当前版本做出决策。 这在Python中可能吗?您认为最好的方法是什么?

python python-3.x version
3个回答
0
投票

您应该使用

dir(package)
查看该包的所有可能选项。如果有
__version__
,就可以使用它。


0
投票

我发现我的库的版本在每次发布时都会从 Github 上被

setuptools_scm
拉取。
setuptools_scm
的开发者提供了一些在运行时检索包版本的技巧:

https://github.com/pypa/setuptools_scm#retriving-package-version-at-runtime

看起来使用

importlib.metadata
是正确的选择。


0
投票

虽然尝试使用库的

__version__
属性可能看起来是个好主意,但它并不总是有效,因为并非每个库都有它。

尝试这样使用

importlib.metadata

from importlib.metadata import PackageNotFoundError, version

try:
    ver = version("your_lib")
except PackageNotFoundError:
    ver = "unknown"
© www.soinside.com 2019 - 2024. All rights reserved.