
pip 是 Python 的官方包管理器,用来安装、卸载和管理 Python 第三方库(包)的工具。
一、pip 是什么?解决了什么问题?
-
没有 pip 之前 :安装第三方库需要手动下载源码,解压,然后运行
python setup.py install,过程繁琐且容易出错。 -
有 pip 之后:一条命令即可从中央仓库(PyPI)自动下载并安装包及其所有依赖。
二、pip 的常用命令
最常用的命令分成三个等级,可以根据需求查看。
基础命令(95% 时间都在用)
| 命令 | 作用 | 示例 |
|---|---|---|
pip install 包名 |
安装一个包 | pip install requests |
pip install 包名==版本号 |
安装指定版本的包 | pip install django==3.2 |
pip install -r requirements.txt |
批量安装项目依赖 | pip install -r requirements.txt |
pip uninstall 包名 |
卸载一个包 | pip uninstall requests |
pip list |
查看当前环境已安装的所有包 | pip list |
pip freeze |
以 requirements.txt 格式列出已安装包(常用于导出依赖) |
pip freeze > requirements.txt |
pip show 包名 |
查看指定包的详细信息 | pip show numpy |
进阶命令(偶尔用)
| 命令 | 作用 | 示例 |
|---|---|---|
pip install --upgrade 包名 |
升级包到最新版本 | pip install --upgrade requests |
pip search 关键词 |
在 PyPI 上搜索包(注:目前已被限制) | pip search ai |
pip download 包名 |
下载包但不安装(可离线使用) | pip download requests -d ./packages |
pip check |
检查已安装的包是否有依赖冲突 | pip check |
高级命令(环境管理)
| 命令 | 作用 | 示例 |
|---|---|---|
pip config list |
查看 pip 的配置信息 | pip config list |
pip cache purge |
清理 pip 本地缓存(释放磁盘空间) | pip cache purge |
pip wheel 包名 |
为指定包生成 .whl 文件 |
pip wheel requests |
三、requirements.txt 的完整用法
requirements.txt 是 pip 最重要的协作文件,格式和扩展用法如下:
# 精确版本(最常用)
requests==2.31.0
# 最低版本
numpy>=1.24.0
# 兼容最新版本
flask~=2.3.0
# 从 Git 仓库安装
git+https://github.com/user/repo.git@main
# 从本地文件安装
./downloads/some_package.whl
生成和安装命令:
# 生成依赖文件
pip freeze > requirements.txt
# 安装依赖
pip install -r requirements.txt
四、常见问题
| 问题 | 解决方法 |
|---|---|
pip 命令找不到 |
检查 Python 是否正确安装,并确保将 Python 的 Scripts 目录加入系统 PATH 环境变量。 |
| 安装速度慢 | 使用国内镜像源(如清华源):pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ 包名,或永久配置镜像源。 |
pip install 报 permission denied |
避免使用系统全局 Python,使用虚拟环境(venv)。如临时解决,可加 --user 参数:pip install --user 包名。 |
pip install 报依赖冲突 |
使用 pip check 检查冲突;或用 pip install 包名 --no-deps 忽略依赖;或使用 uv、poetry 等新一代工具。 |
五、pip 的其他用法
-
永远在虚拟环境中使用 pip :不要污染全局 Python 环境。使用
python -m venv .venv创建虚拟环境,激活后再pip install。 -
使用
pip freeze > requirements.txt锁定版本:确保团队、服务器环境完全一致。 -
使用国内镜像源加速(永久配置):
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
-
升级 pip 本身: pip install --upgrade pip
六、pip vs pip3 vs uv
| 命令/工具 | 说明 |
|---|---|
pip |
默认的包管理器,通常指向你当前使用的 Python 版本的 pip。 |
pip3 |
明确使用 Python 3 版本的 pip(在同时安装 Python 2 和 3 的系统中区分用)。 |
uv |
新一代 Rust 写的包管理器,速度是 pip 的 10-100 倍,兼容 pip 命令,强烈推荐尝试。 |
pip 是 Python 的"应用商店",可以随时用它来安装、卸载和管理各种第三方库。最常用三件套:pip install、pip uninstall、pip freeze > requirements.txt。记住在虚拟环境中使用 pip,这是现代 Python 开发的常识。