如何检查 Python 模块的版本?

新手上路,请多包涵

我使用 --- 安装了 Python 模块 constructstatlib setuptools

 sudo apt-get install python-setuptools

sudo easy_install statlib
sudo easy_install construct

如何从命令行检查它们的版本?

原文由 tarabyte 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 580
2 个回答

使用 pip 而不是 easy_install

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

 pip freeze

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


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 行

AttributeError:“模块”对象没有属性“ 版本

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

原文由 alko 发布,翻译遵循 CC BY-SA 4.0 许可协议

你可以试试

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

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

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

原文由 damienfrancois 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏