使用pip,是否有可能找出当前安装的软件包的哪个版本?
我知道pip安装XYZ -升级,但我想知道是否有类似pip信息XYZ的东西。如果不是什么最好的方式来告诉我目前使用的版本。
使用pip,是否有可能找出当前安装的软件包的哪个版本?
我知道pip安装XYZ -升级,但我想知道是否有类似pip信息XYZ的东西。如果不是什么最好的方式来告诉我目前使用的版本。
当前回答
要使用Python代码完成此操作:
使用importlib.metadata.version
Python≥3.8
import importlib.metadata
importlib.metadata.version('beautifulsoup4')
'4.9.1'
Python≤3。7
(使用importlib_metadata.version)
!pip install importlib-metadata
import importlib_metadata
importlib_metadata.version('beautifulsoup4')
'4.9.1'
使用pkg_resources。分布
import pkg_resources
pkg_resources.get_distribution('beautifulsoup4').version
'4.9.1'
pkg_resources.get_distribution('beautifulsoup4').parsed_version
<Version('4.9.1')>
归功于sinoroc和mirekphd的评论。
其他回答
还有一个叫做pip-check的工具,它可以让你快速浏览所有安装的包及其更新状态:
我自己没用过;只是偶然发现了这个SO问题,因为它没有被提及……
Pip 1.3现在也有一个列表命令:
$ pip list
argparse (1.2.1)
pip (1.5.1)
setuptools (2.1)
wsgiref (0.1.2)
在pip 1.3中,有一个pip show命令。
$ pip show Jinja2
---
Name: Jinja2
Version: 2.7.3
Location: /path/to/virtualenv/lib/python2.7/site-packages
Requires: markupsafe
在旧版本中,pip freeze和grep可以很好地完成这项工作。
$ pip freeze | grep Jinja2
Jinja2==2.7.3
最简单的方法是:
import jinja2
print jinja2.__version__
您可以使用grep命令来查找。
pip show <package_name>|grep Version
例子:
pip show urllib3|grep Version
将只显示版本。
Metadata-Version: 2.0 版本:1.12