pip list用于查看已安装的库,指定的选项不同输出的结果就不同,我们可以根据需要指定不同的选项。
这里我们主要讲述以下几个常用选项:--outdated、--uptodate、--local、--user、--path、--pre、--format、--not-required、--exclude。
outdated
这个选项用于列出可以更新的安装包,可以让我们知道哪些安装包需要更新了,比如在我机器上执行以下命令:
pip list --outdated输出如下内容:
Package Version Latest Type
---------- ------- ------ -----
aiohttp 3.6.2 3.8.1 wheel
attrs 19.3.0 21.4.0 wheel
chardet 3.0.4 4.0.0 wheel
idna 2.9 3.3 wheel
multidict 4.7.5 5.2.0 wheel
setuptools 39.2.0 59.6.0 wheel
yarl 1.4.2 1.7.2 wheel输出信息的每一行指出了可以更新到的版本以及安装包类型。
uptodate
这个选项列出了已是最新版本无需更新的安装包,比如在我的机器上执行以下命令:
pip list --uptodate输出如下内容:
Package Version
------------------ -------
async-timeout 4.0.2
dataclasses 0.8
Deprecated 1.2.13
idna-ssl 1.1.0
importlib-metadata 4.8.3
itsdangerous 2.0.1
MarkupSafe 2.0.1
packaging 21.3
pip 21.3.1
pyparsing 3.0.7
redis 4.2.0
typing_extensions 4.1.1
Werkzeug 2.0.3
wrapt 1.14.0
zipp 3.6.0这些安装包的版本都是最新且无需更新的。
local
这个选项告诉pip如果我们是在virtualenv下且有权访问全局安装包时,不列出全局安装包,比如在我机器上执行以下命令:
pip list --local输出内容如下:
Package Version
------------------ -------
click 8.0.4
dataclasses 0.8
Flask 2.0.3
importlib-metadata 4.8.3
itsdangerous 2.0.1
Jinja2 3.0.3
MarkupSafe 2.0.1
Pillow 8.4.0
pip 20.0.2
PyMySQL 1.0.2
setuptools 46.1.3
typing-extensions 4.1.1
Werkzeug 2.0.3
wheel 0.34.2
zipp 3.6.0 可见比前面不带local选项列出的少了一些。
user
这个选项列出安装在user-site下的安装包,即执行pip install --user时安装的包,在我机器上执行以下命令:
pip list --user输出内容如下:
Package Version
------------------ -------
async-timeout 4.0.2
dataclasses 0.8
Deprecated 1.2.13
importlib-metadata 4.8.3
itsdangerous 2.0.1
MarkupSafe 2.0.1
packaging 21.3
pyparsing 3.0.7
redis 4.2.0
typing_extensions 4.1.1
Werkzeug 2.0.3
wrapt 1.14.0
zipp 3.6.0这些安装包都安装在我机器上的这个目录下:~/.local/lib/python3.6/site-packages。
path
这个选项告诉pip只列出path指定目录下的安装包,比如在我机器上执行以下命令:
pip list --path ~/.local/lib/python3.6/site-packages输出内容与pip list --user是一样的。
pre
默认情况下pip只列出稳定版本的包,通过指定这个选项就会同时列出预发布和开发中的版本,比如在我的机器上执行以下命令:
pip list --outdated --pre输出内容如下:
Package Version Latest Type
---------- ------- ------- -----
aiohttp 3.6.2 4.0.0a1 wheel
attrs 19.3.0 21.4.0 wheel
chardet 3.0.4 4.0.0 wheel
idna 2.9 3.3 wheel
multidict 4.7.5 5.2.0 wheel
setuptools 39.2.0 59.6.0 wheel
yarl 1.4.2 1.7.2 wheel可以看到aiohttp那一行包含了alpha版本:4.0.0a1
format
这个选项指定输出格式,默认是列格式,这个选项有三个值可用,分别是:columns、freeze、json,比如执行以下命令:
pip list --uptodate --format freeze输出内容如下:
async-timeout==4.0.2
dataclasses==0.8
Deprecated==1.2.13
idna-ssl==1.1.0
importlib-metadata==4.8.3
itsdangerous==2.0.1
MarkupSafe==2.0.1
packaging==21.3
pip==21.3.1
pyparsing==3.0.7
redis==4.2.0
typing_extensions==4.1.1
Werkzeug==2.0.3
wrapt==1.14.0
zipp==3.6.0not-required
这个选项告诉pip只列出不被其它安装包依赖的安装包,比如在我机器上执行以下命令:
pip list --not-required输出内容如下:
Package Version
------------ -------
aiohttp 3.6.2
itsdangerous 2.0.1
MarkupSafe 2.0.1
pip 21.3.1
redis 4.2.0
setuptools 39.2.0
Werkzeug 2.0.3exclude
这个选项告诉pip从列出的安装包中排除指定的安装包,也就是说这个选项指定的安装包不会出现在输出中,比如在我机器上执行以下命令:
pip list --not-required --exclude aiohttp输出如下:
Package Version
------------ -------
attrs 19.3.0
chardet 3.0.4
idna-ssl 1.1.0
itsdangerous 2.0.1
MarkupSafe 2.0.1
pip 21.3.1
redis 4.2.0
setuptools 39.2.0
Werkzeug 2.0.3
yarl 1.4.2可见输出的内容已经没有aiohttp这个安装包了。











本文暂时没有评论,来添加一个吧(●'◡'●)