使用pip,是否有可能找出当前安装的软件包的哪个版本?
我知道pip安装XYZ -升级,但我想知道是否有类似pip信息XYZ的东西。如果不是什么最好的方式来告诉我目前使用的版本。
使用pip,是否有可能找出当前安装的软件包的哪个版本?
我知道pip安装XYZ -升级,但我想知道是否有类似pip信息XYZ的东西。如果不是什么最好的方式来告诉我目前使用的版本。
当前回答
PIP show在python 3.7中工作:
pip show selenium
Name: selenium
Version: 4.0.0a3
Summary: Python bindings for Selenium
Home-page: https://github.com/SeleniumHQ/selenium/
Author: UNKNOWN
Author-email: UNKNOWN
License: Apache 2.0
Location: c:\python3.7\lib\site-packages\selenium-4.0.0a3-py3.7.egg
Requires: urllib3
Required-by:
其他回答
Pip 1.3现在也有一个列表命令:
$ pip list
argparse (1.2.1)
pip (1.5.1)
setuptools (2.1)
wsgiref (0.1.2)
最简单的方法是:
import jinja2
print jinja2.__version__
要使用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的评论。
import pkg_resources
packages = [dist.project_name for dist in pkg_resources.working_set]
try:
for count, item in enumerate(packages):
print(item, pkg_resources.get_distribution(item).version)
except:
pass here
这些凹痕可能并不完美。我使用Try- Except块的原因是,由于解析库名来处理版本,很少有库名会抛出错误。即使包变量将包含安装在您的环境中的所有库。
在windows上,你可以发出如下命令:
pip show setuptools | findstr "Version"
输出:
Version: 34.1.1