我使用setuptools安装了Python模块construct和statlib:
sudo apt-get install python-setuptools
sudo easy_install statlib
sudo easy_install construct
如何从命令行检查它们的版本?
我使用setuptools安装了Python模块construct和statlib:
sudo apt-get install python-setuptools
sudo easy_install statlib
sudo easy_install construct
如何从命令行检查它们的版本?
当前回答
我建议在终端中打开一个Python shell(在您感兴趣的Python版本中),导入库,并获取其__version__属性。
>>> import statlib
>>> statlib.__version__
>>> import construct
>>> contruct.__version__
注1:我们必须考虑Python版本。如果已经安装了不同版本的Python,则必须在感兴趣的Python版本中打开终端。例如,使用Python 3.8打开终端可以(肯定会)提供与使用Python 3.5或Python 2.7打开不同版本的库。
注意2:我们避免使用print函数,因为它的行为依赖于Python 2或Python 3。我们不需要它,终端将显示表达式的值。
其他回答
Python >= 3.8:
如果您使用的是Python >= 3.8,则可以使用内置库中的模块。要检查包的版本(在这个例子中),运行:
>>> from importlib.metadata import version
>>> version('construct')
'4.3.1'
Python < 3.8:
使用随setuptools库分发的pkg_resources模块。注意,传递给get_distribution方法的字符串应该对应于PyPI条目。
>>> import pkg_resources
>>> pkg_resources.get_distribution('construct').version
'2.5.2'
边注:
请注意,传递给get_distribution方法的字符串应该是在PyPI中注册的包名,而不是您试图导入的模块名。不幸的是,它们并不总是相同的(例如,你安装了memcached,但导入了memcache)。 如果你想从命令行应用这个解决方案,你可以这样做:
python -c \
"import pkg_resources; print(pkg_resources.get_distribution('construct').version)"
假设我们使用的是Jupyter Notebook(如果使用的是Terminal,去掉感叹号):
如果软件包(例如xgboost)与pip一起安装: 皮普秀xgboost !pip freeze | grep xgboost !pip list | grep xgboost 如果这个包(例如caffe)是用Conda安装的: conda list caffe
(请参见如何以编程方式获取Python中已安装模块的版本?)
我发现使用各种可用的工具(包括Jakub Kukul回答中提到的最好的pkg_resources)是非常不可靠的,因为大多数工具都不能覆盖所有情况。例如
内置模块 模块没有安装,只是添加到python路径(例如,通过IDE) 同一模块可用的两个版本(python路径中的一个取代已安装的版本)
因为我们需要一种可靠的方法来获取任何包、模块或子模块的版本,所以我最终编写了getversion。使用起来很简单:
from getversion import get_module_version
import foo
version, details = get_module_version(foo)
详细信息请参见文档。
你可以试试这个:
pip list
这将输出所有包及其版本。
输出
更好的方法是:
获取特定包的详细信息
pip show <package_name>
它详细说明了package_name、版本、作者、位置等。
$ pip show numpy
Name: numpy
Version: 1.13.3
Summary: NumPy: array processing for numbers, strings, records, and objects.
Home-page: http://www.numpy.org
Author: NumPy Developers
Author-email: numpy-discussion@python.org
License: BSD
Location: c:\users\prowinjvm\appdata\local\programs\python\python36\lib\site-packages
Requires:
查看详细信息:>>> pip help
应该更新PIP以实现这一点。
pip install --upgrade pip
在Windows上,推荐的命令是:
python -m pip install --upgrade pip