pip list¶
用法¶
python -m pip list [options]
py -m pip list [options]
描述¶
列出已安装的包,包括可编辑的包。
包按不区分大小写的排序顺序列出。
选项¶
- -o, --outdated¶
列出过时的包
(环境变量:
PIP_OUTDATED
)
- -u, --uptodate¶
列出最新的包
(环境变量:
PIP_UPTODATE
)
- -e, --editable¶
列出可编辑的项目。
(环境变量:
PIP_EDITABLE
)
- -l, --local¶
如果在具有全局访问权限的虚拟环境中,则不列出全局安装的包。
(环境变量:
PIP_LOCAL
)
- --user¶
仅输出安装在用户站点中的包。
(环境变量:
PIP_USER
)
- --path <path>¶
将列出包的范围限制在指定的安装路径(可以多次使用)。
(环境变量:
PIP_PATH
)
- --pre¶
包括预发布和开发版本。默认情况下,pip 只找到稳定版本。
(环境变量:
PIP_PRE
)
- --format <list_format>¶
在以下格式中选择输出格式:columns(默认)、freeze 或 json。'freeze' 格式不能与 --outdated 选项一起使用。
(环境变量:
PIP_FORMAT
)
- --not-required¶
列出不是已安装包的依赖关系的包。
(环境变量:
PIP_NOT_REQUIRED
)
- --exclude-editable¶
从输出中排除可编辑的包。
(环境变量:
PIP_EXCLUDE_EDITABLE
)
- --include-editable¶
在输出中包含可编辑的包。
(环境变量:
PIP_INCLUDE_EDITABLE
)
- --exclude <package>¶
从输出中排除指定的包
(环境变量:
PIP_EXCLUDE
)
- -i, --index-url <url>¶
Python 包索引的基本 URL(默认值为 https://pypi.ac.cn/simple)。这应该指向符合 PEP 503(简单存储库 API)的存储库或以相同格式布局的本地目录。
(环境变量:
PIP_INDEX_URL
,PIP_PYPI_URL
)
- --extra-index-url <url>¶
除了 --index-url 之外,要使用的包索引的额外 URL。应遵循与 --index-url 相同的规则。
(环境变量:
PIP_EXTRA_INDEX_URL
)
- --no-index¶
忽略包索引(只查看 --find-links URL)。
(环境变量:
PIP_NO_INDEX
)
示例¶
列出已安装的包(使用默认的列格式)。
$ python -m pip list Package Version ------- ------- docopt 0.6.2 idlex 1.13 jedi 0.9.0
C:\> py -m pip list Package Version ------- ------- docopt 0.6.2 idlex 1.13 jedi 0.9.0
列出过时的包,并使用列格式。
$ python -m pip list --outdated --format columns Package Version Latest Type ---------- ------- ------ ----- retry 0.8.1 0.9.1 wheel setuptools 20.6.7 21.0.0 wheel
C:\> py -m pip list --outdated --format columns Package Version Latest Type ---------- ------- ------ ----- retry 0.8.1 0.9.1 wheel setuptools 20.6.7 21.0.0 wheel
列出不是其他包的依赖关系的包。可以与其他选项组合使用。
$ python -m pip list --outdated --not-required Package Version Latest Type -------- ------- ------ ----- docutils 0.14 0.17.1 wheel
C:\> py -m pip list --outdated --not-required Package Version Latest Type -------- ------- ------ ----- docutils 0.14 0.17.1 wheel
使用 json 格式
$ python -m pip list --format=json [{'name': 'colorama', 'version': '0.3.7'}, {'name': 'docopt', 'version': '0.6.2'}, ...
C:\> py -m pip list --format=json [{'name': 'colorama', 'version': '0.3.7'}, {'name': 'docopt', 'version': '0.6.2'}, ...
使用 freeze 格式
$ python -m pip list --format=freeze colorama==0.3.7 docopt==0.6.2 idlex==1.13 jedi==0.9.0
C:\> py -m pip list --format=freeze colorama==0.3.7 docopt==0.6.2 idlex==1.13 jedi==0.9.0
列出以可编辑模式安装的包
当一些包以可编辑模式安装时,pip list
会输出一个额外的列,显示可编辑项目所在的目录(即包含 pyproject.toml
或 setup.py
文件的目录)。
$ python -m pip list Package Version Editable project location ---------------- -------- ------------------------------------- pip 21.2.4 pip-test-package 0.1.1 /home/you/.venv/src/pip-test-package setuptools 57.4.0 wheel 0.36.2C:\> py -m pip list Package Version Editable project location ---------------- -------- ---------------------------------------- pip 21.2.4 pip-test-package 0.1.1 C:\Users\You\.venv\src\pip-test-package setuptools 57.4.0 wheel 0.36.2
json 格式会输出一个额外的 editable_project_location
字段。
$ python -m pip list --format=json | python -m json.tool [ { "name": "pip", "version": "21.2.4", }, { "name": "pip-test-package", "version": "0.1.1", "editable_project_location": "/home/you/.venv/src/pip-test-package" }, { "name": "setuptools", "version": "57.4.0" }, { "name": "wheel", "version": "0.36.2" } ]C:\> py -m pip list --format=json | py -m json.tool [ { "name": "pip", "version": "21.2.4", }, { "name": "pip-test-package", "version": "0.1.1", "editable_project_location": "C:\Users\You\.venv\src\pip-test-package" }, { "name": "setuptools", "version": "57.4.0" }, { "name": "wheel", "version": "0.36.2" } ]
注意
与 freeze
命令相反,pip list --format=freeze
不会报告可编辑安装信息,而是报告安装时包的版本。