如何检查 Python 模块的版本?

2022-09-05 01:15:07

我安装了Python模块并使用:constructstatlibsetuptools

sudo apt-get install python-setuptools

sudo easy_install statlib
sudo easy_install construct

如何从命令行检查其版本?


答案 1

使用 pip 而不是easy_install

使用 pip,通过以下方式列出所有已安装的软件包及其版本:

pip freeze

在大多数 Linux 系统上,你可以通过管道将其传送到(或在 Windows 上)以查找你感兴趣的特定包的行。grepfindstr


Linux:

pip freeze | grep lxml

lxml==2.3

窗户:

pip freeze | findstr lxml

lxml==2.3


对于单个模块,可以尝试使用 __version__ 属性。但是,有些模块没有它:

python -c "import requests; print(requests.__version__)"
2.14.2

python -c "import lxml; print(lxml.__version__)"

回溯(最近一次调用最后):
文件“<字符串>”,第 1 行,在 <module>
属性错误: 'module' 对象没有属性 'version'

最后,由于问题中的命令以 为前缀,因此似乎您正在安装到全局 python 环境中。我强烈建议您研究一下Python虚拟环境管理器,例如virtualenvwrappersudo


答案 2

您可以尝试

>>> import statlib
>>> print statlib.__version__

>>> import construct
>>> print contruct.__version__

这是 PEP 396 推荐的方法。但PEP从未被接受,并被推迟了。事实上,Python核心开发人员似乎越来越支持建议不要包含属性,例如在删除importlib_metadata。版本..__version__