全部速查表Python开发

pip

pip 24+

pip 包管理器 CLI 命令快速参考:安装 / 卸载 / 检查包、虚拟环境、requirements 文件、配置与索引管理,并附带常用参数和实操示例。

37 条命令

帮助

pip --version

打印 pip 版本及其指向的 Python 解释器。

pip --version
pip --help

列出所有 pip 子命令。

pip --help
pip <subcommand> --help

显示某个 pip 子命令的所有参数。

pip install --help | head -60

自身

python -m pip --version

以 Python 模块方式运行 pip——在存在多个 Python 解释器的系统上比直接 `pip` 更受推荐。

python -m pip --version
python -m pip install --upgrade pip

把 pip 升级到最新版本。配合 `python -m ensurepip` 可向缺少 pip 的 venv 中引导安装 pip。

python -m pip install --upgrade pip
python -m ensurepip --upgrade

向一个不包含 pip 的虚拟环境引导安装 pip(PEP 453)。

--upgrade;--default-pip

python -m ensurepip --upgrade

安装

pip install <pkg>

从默认索引(PyPI)安装 `<pkg>` 的最新版本。

<pkg>;-r <req.txt>;-e <path>;-U;--upgrade-strategy only-if-needed|eager;--force-reinstall;--no-deps;--pre 包含预发行版;--dry-run;--quiet

pip install requests
pip install '<pkg>>=<ver>'

以版本说明符(PEP 440)安装。可用 `>=`、`==`、`<`、`~=`、`!=`、`===`。

pip install 'django>=4.2,<5'
pip install -r requirements.txt

安装 requirements 文件中列出的所有包(每行一个说明符,允许 `# 注释`)。

-r <file>;-c <constraints>;--no-deps;--require-hashes

pip install -r requirements.txt
pip install -e <path>

以可编辑 / 开发模式安装项目——`src/` 会被符号链接到 site-packages,编辑立即生效。

-e .;-e .[dev];--no-deps

pip install -e .
pip install '.[dev]'

安装当前项目并附带 `pyproject.toml` 中声明的可选 extras。

pip install '.[dev,docs]'
pip install git+https://github.com/<user>/<repo>.git

直接从 Git 仓库安装(任意 ref:分支、tag、commit)。

git+https://...;git+ssh://...;@branch;@tag;@commit

pip install 'git+https://github.com/requests/requests.git@main'
pip install <pkg> --index-url <url>

从其他索引安装——公司 PyPI 镜像、JFrog Artifactory、AWS CodeArtifact 等。

pip install <pkg> --index-url https://pypi.org/simple
pip install <pkg> --extra-index-url <url>

在默认索引之外再搜索一个额外索引。用 `--no-index` 完全禁止远程拉取。

pip install <pkg> --extra-index-url https://my-mirror/simple
pip install --user <pkg>

安装到用户的 site-packages(`~/.local/`),而不是系统 Python。

--user;--target <dir>

pip install --user pipx
pip install --dry-run <pkg>

打印 pip 将会安装的内容但不真正安装——CI 中预览用。

--dry-run;--quiet;--report <file>

pip install --dry-run -r requirements.txt

检查

pip list

列出已安装的包(Name / Version / Location 列)。

--format columns|freeze|json;--outdated;--uptodate;--user;--local;--pre;--not-required;--exclude;--include-editable

pip list --format=freeze > freeze.txt
pip list --outdated

列出有更新版本可用的已安装包。

--outdated;--format columns|freeze|json

pip list --outdated --format=columns
pip show <pkg>

显示单个已安装包的元数据:版本、位置、requires、required-by、summary。

-f 显示每个文件;--files 同;<pkg>...

pip show -f requests
pip check

验证已安装包的依赖是否兼容——暴露破坏性的依赖冲突。

pip check
pip freeze

以 `pkg==ver` 格式输出已安装的包(已排序,不含 extras)——生成 requirements.txt 的标准来源。

--local;--user;--all;--exclude;--requirement <file>

pip freeze > requirements.lock

卸载

pip uninstall <pkg>

卸载一个包。加 `-y` 跳过确认提示。

<pkg>...;-y;-r <file> 卸载文件中列出的所有包;--dry-run

pip uninstall -y requests
pip uninstall -r requirements.txt -y

卸载 requirements 文件中列出的所有包。

pip uninstall -r requirements.txt -y

索引

pip download <pkg>

下载 wheel / sdist 到目录中而不安装。对断网传输很有用。

-d <dir>;--no-deps;--no-binary :all:;--dest <dir>;--platform

pip download requests -d ./wheels
pip search <query>

按名称 / 摘要搜索 PyPI(目前已被 PyPI 禁用;请改用网页)。

pip search 'fastapi'
pip wheel <pkg>

为项目及其依赖构建 wheel 到输出目录。

-w <dir>;--no-deps;--no-binary :all:;--no-build-isolation

pip wheel . -w ./wheels
pip cache dir

打印 pip 用来缓存已下载文件的目录。

pip cache dir
pip cache purge

清空 pip 的下载缓存。在排查损坏的 wheel 时很有用。

purge;list;info;remove <pattern>;--no-autoremove

pip cache purge
pip config list

打印当前生效的配置(env 变量 + site / global / user 范围的 INI 文件)。

list;edit;get <name>;set <name> <value>;unset <name>;--global;--user;--site

pip config list
pip config set global.index-url <url>

把一项设置持久化到当前配置文件。

--global;--user;--site;--editor;<name> <value>

pip config set global.index-url https://my-mirror/simple

检查

pip inspect

以 JSON 形式导出每个已安装包的依赖、文件与元数据(Dependabot 等会用到)。

pip inspect > installed.json

哈希

pip install --require-hashes -r requirements.txt

按哈希锁定的 requirements 安装——哈希不匹配则 pip 拒绝安装(可复现、防篡改)。

pip install --require-hashes -r requirements.txt
pip hash <file>

计算文件的 SHA-256(默认)哈希值,供 `--require-hashes` requirements 使用。

<file>;--algorithm sha256|sha384|sha512

pip hash ./mypkg-1.0-py3-none-any.whl

VCS

pip install git+ssh://[email protected]/<user>/<repo>@<ref>

通过 SSH 安装(用于启用了 2FA 的私有包)。

@<branch>;@<tag>;@<commit>

pip install git+ssh://[email protected]/me/[email protected]

Venv 集成

python -m venv .venv

创建虚拟环境(Python 标准库中 virtualenv 的替代品)。激活后 pip 会自动装入 venv。

.venv;--system-site-packages;--prompt <name>;--without-pip;--upgrade-deps

python -m venv .venv && source .venv/bin/activate

杂项

pip debug --verbose

展示 pip 版本、所支持的 tag(`cp311-cp311-manylinux_2_28_x86_64`)以及 pip 可安装的 Python 版本。

--verbose

pip debug --verbose | head -40
pip install --upgrade pip setuptools wheel

升级 venv 内的构建工具链——源码分发需要较新 setuptools 时必需。

pip install --upgrade pip setuptools wheel

相关命令速查

关于 pip

pip 是 Python 的标准包管理器——递归缩写 "pip installs packages"。它由 Ian Bicking 于 2008 年创建,并在 Python 2.7.9 / 3.4 起被纳入 Python 标准库,作为默认安装器。pip 从 PyPI(Python Package Index)以及任何兼容 PEP 503 的仓库安装 Python 包。当前稳定版本线是 pip 24+(pip 25.x 不再提示旧版 resolver 警告)。pip 支持 wheel(.whl)、源码分发(.tar.gz)、VCS URL(`git+https://...`)与本地可编辑安装(`pip install -e .`)。在大多数工作流中,uv / Poetry / Hatch 已经替代 pip 负责项目管理,但 pip 仍然是通用的回退方案——几乎所有 Python 工具的文档都默认使用 `pip install <pkg>`。pip 采用 MIT 协议,由 Python Packaging Authority(PyPA)发行。pip 不会上传你的代码;它只从已配置的索引中拉取。

速查页版本 1.0.0