包管理工具 pip
约 1448 字大约 5 分钟
2025-04-26
Python 的使用哲学之一是“不要重复造轮子”。如果有现成的工具可以使用,我们通常会选择直接利用别人(或组织)已经编写好的模块。这不仅能够节省我们的时间成本,还能让我们享受到那些经过广泛测试和优化的第三方库带来的诸多好处。
- 简介
- 常用命令
- 依赖管理
- 配置国内镜像源 (换源)
- 1pip 命令永远写成 python -m pip ...,避免“多个 Python 解释器选错 pip”的经典坑。
- 2做项目永远先 venv(或 uv venv)建虚拟环境,再 pip install —— 别污染系统 Python。
- 3锁版本:pip install package==1.2.3 比 latest 更稳;交付时用 pip freeze > requirements.txt 固化整套依赖。
- 4国内网络慢就配镜像源:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple。
- 5卸装/升级:pip uninstall pkg、pip install -U pkg;查看依赖关系用 pip show pkg,看是否安装用 pip list / pip show。
Python 的使用哲学之一是“不要重复造轮子”。如果有现成的工具可以使用,我们通常会选择直接利用别人(或组织)已经编写好的模块。这不仅能够节省我们的时间成本,还能让我们享受到那些经过广泛测试和优化的第三方库带来的诸多好处。
简介
pip 是 Python 官方推荐的包管理工具,全称为 "Pip Installs Packages"[1]。它用于安装、升级、卸载和管理 Python 第三方库。
这些第三方库主要存储在 PyPI (Python Package Index) 中,这是 Python 官方的软件仓库。通过 pip,我们可以轻松地从 PyPI 下载并安装各种功能的库到本地环境中。
从 Python 3.4 版本开始,pip 已经默认包含在 Python 安装包中,无需额外安装。你可以通过以下命令检查 pip 是否安装成功及其版本:
pip --version常用命令
安装包
最基础的用法是安装最新版本的包:
pip install <包名>
# 例如:
pip install requests如果你需要安装指定版本的包,可以使用 == 操作符:
pip install numpy==1.24.3同时也支持安装一系列包:
pip install requests numpy pandas升级包
将已安装的包升级到最新版本:
pip install --upgrade <包名>
# 或者简写为
pip install -U <包名>卸载包
删除不再需要的包:
pip uninstall <包名>查看已安装的包
列出当前环境安装的所有包及其版本信息:
pip list查看包详情
如果你想了解某个已安装包的详细信息(如版本、作者、安装位置、依赖关系等),可以使用 show 命令:
pip show <包名>
# 例如:
pip show requests检查依赖冲突
check 命令用于检查已安装包的依赖关系是否完整且无冲突,这在排查环境问题时非常有用:
pip check依赖管理
在实际开发中,我们通常需要将项目所依赖的包记录下来,以便在其他机器或部署环境中复现相同的开发环境。
导出依赖
将当前环境的所有包及其版本输出到 requirements.txt 文件中:
pip freeze > requirements.txt安装依赖
在新环境中,根据 requirements.txt 文件一键安装所有依赖:
pip install -r requirements.txt配置国内镜像源 (换源)
由于 PyPI 的服务器位于国外,国内用户在使用 pip 安装包时可能会遇到下载速度慢甚至超时失败的问题。为了解决这个问题,我们可以配置使用国内高校或互联网企业搭建的镜像源。
常用的国内镜像源:
- 清华大学 (TUNA):
https://pypi.tuna.tsinghua.edu.cn/simple - 阿里云:
https://mirrors.aliyun.com/pypi/simple/ - 中国科技大学:
https://pypi.mirrors.ustc.edu.cn/simple/
临时使用
如果只想在单次安装中使用镜像源,可以使用 -i 参数:
pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple永久配置 (推荐)
为了省去每次输入长 URL 的麻烦,我们可以修改 pip 的全局配置,使其默认使用国内源:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple执行上述命令后,pip 会在用户目录下生成配置文件,以后所有的 pip install 操作都会默认从清华源下载。
最佳实践
1. 使用虚拟环境
永远不要在全局 Python 环境中随意安装第三方包,这会导致依赖冲突和环境污染。强烈建议为每个项目创建一个独立的虚拟环境。
关于虚拟环境的详细使用,请参考 虚拟环境管理 (venv/conda)。
在虚拟环境中,你不需要使用
sudo权限来安装包,这避免了破坏系统级 Python 环境的风险。
2. 避免使用 root/sudo 权限
在 Linux 或 macOS 系统上,尽量避免使用 sudo pip install。如果未使用虚拟环境且必须安装到用户目录,请使用 --user 参数:
pip install --user <包名>但这仍然不如使用虚拟环境安全和规范。
- pip 是 Python 官方包管理器;优先用 python -m pip 而不是裸 pip,避免 PATH 歧义。
- 做项目永远先建虚拟环境再装包;千万别 sudo pip install。
- 锁版本生产环境必备:开发时 pip freeze > requirements.txt,部署时 pip install -r requirements.txt。
- 国内慢就换镜像,临时用 -i,长期用 pip config set global.index-url。
- 更现代的方案是 uv / Poetry / Hatch —— 自动建虚拟环境、解锁依赖、统一 pyproject.toml;新项目优先考虑。
版权所有
版权归属:Shuo Liu
