pip 是 Python 的内置工具,用于安装、卸载、查询和管理 Python 包。通过 pip,用户可以轻松地获取第三方库并将其集成到自己的项目中。

pip 需要通过命令行方式执行。

一、命令格式

安装系统范围的包:

python.exe -m pip  [options]

安装包(常用于虚拟环境):

pip  [options]

使用 Python 的 pip 模块执行子命令,可通过 传入功能操作,再附带所需选项参数。

二、Commands 命令

install

安装一个或多个第三方库。

例 1:安装 pygame 包(用于简单小游戏开发)。

pip install pygame

例 2:默认从网络上下载 pillow 库(用于图像处理)并自动安装到系统中。若已安装则更新。

pip install -U pillow

pip install --upgrade pillow

例 3:安装本地软件包,无需联网,但要指定文件名及路径。

pip install .\networkx-3.4.2-py3-none-any.whl

例 4:如果安装特定版本的包,可在包名后面加上双等号(==),然后跟上想要的版本号(不要有空格)。

pip install Pyside6==6.9.0

还可以使用 >= 来表示“至少这个版本或更高版本”。这叫做“需求规范”。

pip install Pylint>=3.0.0

例 5:使用 requirements.txt 进行安装,特别适用于多用户使用同一命令安装所有需要的包。

在 requirements.txt 文件中,将包的名称和版本(如果需要的话)写在同一行。

flake8
Pyside6>=6.8
appdirs

一次安装所有这些包:

pip install -r requirements.txt

download

下载软件包(.whl 或 .tar.gz),但并不进行安装。

例:下载 Numpy(用于矩阵运算)安装包

pip download numpy

uninstall

卸载一个或多个第三方库。

例 1:卸载 flask 包(轻量级 Web 开发框架),会提示是否确认删除。

pip uninstall flask

例 2:使用 requirements.txt 批量卸载。

pip uninstall -r requirements.txt

安装一个包时,它所依赖的包会被安装,我们称之为“依赖项”。卸载一个包时,它的依赖项不会被自动卸载,因为多个包可能有共享的依赖项。

freeze

以 requirements 格式输出已安装软件包。

例:将当前环境中所有安装包及版本导出到 requirements.txt 文件中。

pip freeze > requirements.txt

inspect

检查 Python 环境信息,包括依赖结构。需要 pip 23.1+。

pip inspect

list

列出当前系统中已经安装的第三方库及其版本号

例:列出所有已安装的包,并显示可升级版本。

pip list --outdated

show

显示已安装软件包的详细信息。

例:查看 pillow 包的详细信息,如版本、作者、安装路径等。

pip show pillow

check

检查当前已安装包之间的依赖关系是否存在冲突。

例:

pip check

config

配置 pip 的本地和全局设置。

例 1:列出所有的 pip 配置项(例如镜像源、缓存路径等)。

pip config list

例 2:获取 pip config 命令的帮助。

pip config -h

search

在 PyPI 上搜索软件包。

例:从 PyPI 搜索含有 “web scraping”(网络爬虫)关键词的包。

pip search web scraping 

提示:

目前 pip 已禁用了 search 指令,可安装 pip_search 包并通过 pip-search 指定进行搜索。也可参考 PyPI 官网提供的官方 Python 包索引。

cache

检查和管理 pip 的缓存。

例:查看 pip 使用的缓存目录。

pip cache dir

index

查看索引中的包信息。需要 pip 21.2+。

例:查看 requests 包(用于 http 协议访问)在索引源上所有可用版本。

pip index versions requests

wheel

构建 wheel 格式软件包。仅构建,不安装。

例:将 requests 包构建为 wheel 格式。

pip wheel requests

hash

计算包的哈希值。

例:

pip hash networkx-3.4.2-py3-none-any.whl

completion

用于生成 pip 命令的自动补全脚本,让用户在命令行中可以使用 Tab 键自动补全 pip 命令、参数和包名,从而提高效率、减少输入错误。

例:生成适用于 Bash 的补全脚本。

pip completion --bash

debug

显示调试信息。

例:输出详细的 pip 环境信息,用于调试环境问题。

pip debug --verbose

help

显示帮助命令列表。

例:显示 install 命令的详细帮助说明和可用参数。

pip help install

三、General Options 通用选项

-h, --help

显示帮助信息。

--debug

让未捕获的异常直接抛出,而不是记录日志。

--isolated

以隔离模式运行,忽略环境变量和用户配置。

--require-virtualenv

只允许在虚拟环境中运行 pip。

--python

使用指定的 Python 解释器运行 pip。

-v, --verbose

输出更详细信息,可叠加最多 3 次。

-V, --version

显示 pip 版本号并退出。

-q, --quiet

安静模式,减少输出信息,最多 3 层。

--log

将详细日志输出到文件。

--no-input

禁用所有交互提示。

--keyring-provider

启用 keyring 凭据支持,可设为 auto、disabled 等。

--proxy

设置 HTTP 代理(scheme://[user:passwd@]host:port)。

--retries

设置最大重试次数,默认 5 次。

--timeout

设置连接超时时间,默认 15 秒。

--exists-action

已存在文件时的操作(s: switch, i: ignore, w: wipe, b: backup, a: abort)。

--trusted-host

将指定主机标记为可信,即使其无有效 HTTPS 证书。

--cert

使用自定义 PEM 格式证书文件。

--client-cert

使用 SSL 客户端证书。

--cache-dir

设置 pip 缓存目录路径。

--no-cache-dir

禁用缓存。

--disable-pip-version-check

禁用 pip 启动时的版本更新检查。

--no-color

禁用颜色输出。

--use-feature

启用实验功能。

--use-deprecated

启用已弃用功能。未来可能被移除

--resume-download

恢复中断的下载。

--resume-retries

设置恢复下载时的最大重试次数(Default: 0)。

点赞有美意,赞赏是鼓励