Python是一种简单易学的编程语言,被广泛应用于各种领域,包括自然语言处理、机器学习、人工智能等。在开发Python应用程序时,我们常常需要使用第三方库或模块。在某些情况下,我们需要确认这些库或模块的版本。下面从多个方面详细阐述如何查看Python库的版本。
一、使用pip命令
使用pip命令是最常见的查看Python库版本的方法。这需要先安装pip。如果你正在使用Python3.x版本,那么pip已经自带了。如果你使用的是Python2.x版本或pip没有自带,可以通过以下命令进行安装:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
安装成功后,打开终端或命令行输入以下命令可以列出所有已经安装的库及其版本:
pip list
也可以单独查看某个库的版本:
pip show 库名
例如,查看requests库的版本:
pip show requests
输出结果如下:
Name: requests
Version: 2.22.0
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
Author-email: me@kennethreitz.org
License: Apache 2.0
Location: /usr/local/lib/python3.7/site-packages
Requires: idna, certifi, urllib3, chardet
二、使用pkg_resources模块
Python中自带了一个名为pkg_resources的模块,可以实现查询Python库版本的功能。使用该模块需要先导入:
import pkg_resources
查询所有已安装的库及其版本:
for package in pkg_resources.working_set:
print(package.project_name, package.version)
查询某个库的版本:
pkg_resources.get_distribution("库名").version
例如,查询Flask库的版本:
pkg_resources.get_distribution("Flask").version
输出结果:
'1.1.1'
三、使用sys模块
Python自带的sys模块也提供了查询Python库版本的方法。使用该方法需要先导入sys和pkgutil模块:
import sys
import pkgutil
查询所有已安装的库及其版本:
for _, name, _ in pkgutil.iter_modules():
try:
print(name, sys.modules[name].__version__)
except:
pass
查询某个库的版本:
import 库名
库名.__version__
例如,查询pandas库的版本:
import pandas
pandas.__version__
输出结果:
'0.25.3'
四、使用conda命令
如果你使用的是Anaconda或Miniconda,那么可以使用conda命令查询Python库版本。打开终端或命令行输入以下命令可以列出所有已经安装的库及其版本:
conda list
也可以单独查看某个库的版本:
conda list 库名
例如,查看numpy库的版本:
conda list numpy
输出结果:
# packages in environment at /Users/user/anaconda3:
#
# Name Version Build Channel
numpy 1.17.2 py37h6a91979_0
五、使用IDE编辑器
如果你使用的是Python集成开发环境(IDE)编辑器,也可以通过IDE自带的功能查看已安装库或模块的版本,例如:
- PyCharm:打开File--->Settings--->Project:项目名称--->Project Interpreter,可以看到所有已经安装的库及其版本。
- Spyder:在IPython控制台中输入一个库的名称加一个问号,例如numpy?,会显示该库的版本。
- Jupyter Notebook:在notebook中输入import 库名, 库名.__version__,可以显示该库的版本。
六、总结
本文介绍了Python中多种查看库版本的方法,包括使用pip命令、pkg_resources模块、sys模块、conda命令以及常用IDE自带的功能。通过这些方法,可以方便快捷地查看Python库的版本,为开发Python应用程序提供了便利。