如何通过代码获取Python模块的版本号?

53 投票
6 回答
98345 浏览
提问于 2025-04-16 03:02

我想获取我使用的几个特定模块的版本号。这样我就可以把它存储在一个变量里。

6 个回答

51

Python 3.8 开始,importlib.metadata 可以用来替代 pkg_resources,用来提取通过像 pip 这样的工具安装的第三方包的版本信息:

from importlib.metadata import version
version('wheel')
# '0.33.4'
97

使用 pkg_resources(这是setuptools的一部分)。从PyPI上安装的任何东西至少都有一个版本号。你不需要额外的包或模块。

>>> import pkg_resources
>>> pkg_resources.get_distribution("simplegist").version
'0.3.2'
41

Matt的回答大致是这样的:你可以用 dir(YOURMODULE) 这个命令来查看你所用模块的内容,然后找找里面有没有 __version__VERSION 或者 version 这些东西。大多数模块都喜欢用 __version__,不过我记得 numpy 是用 version.version 来表示版本的。

撰写回答