5. PIP 和包管理:为你的环境“添砖加瓦”
在上一章,我们学习了如何使用 conda 来管理我们的环境和包。conda 是 Anaconda 生态系统的核心,但它并不是 Python 世界里唯一的包管理器。另一个你必须了解的工具,就是 pip。
什么是 pip?
- pip 是 “Pip Installs Packages” 的递归缩写。它是 Python 官方推荐的包管理器,也是最通用的 Python 包安装和管理工具。
- 当你安装 Python 时(无论是通过官网的安装包还是通过 Anaconda),
pip通常都会被自动安装。 pip从一个名为 PyPI (Python Package Index) 的在线仓库中下载和安装包。PyPI 是 Python 官方的、也是最大的第三方软件包仓库,几乎所有开源的 Python 库都会在这里发布。
conda vs pip:我应该用哪个?
初学者常常会对 conda 和 pip 的关系感到困惑。下面这个表格可以帮助你清晰地理解它们的区别:
| 特性 | conda |
pip |
|---|---|---|
| 来源 | Anaconda, Inc. | Python 官方 (PyPA) |
| 功能 | 环境管理器 + 包管理器 | 仅包管理器 |
| 包的语言 | 管理 任何语言 的包 (Python, R, C++, etc.) | 只管理 Python 包 |
| 仓库 | Anaconda Repository (channels) | PyPI (Python Package Index) |
| 环境管理 | 可以创建、激活、删除独立的环境 | 无法管理环境(需要依赖 venv 或 virtualenv 等工具) |
| 依赖解析 | 依赖解析能力更强,特别是对非 Python 库的依赖 | 可能会在处理复杂的依赖关系时遇到问题 |
核心思想:
- 环境管理用
conda: 创建、激活、删除环境,这些都应该使用conda(conda create,conda activate,conda deactivate)。pip没有这个能力。 - 包安装首选
conda: 在一个激活的 Conda 环境中,当你需要安装一个新的包时,应该 首先尝试conda install <package_name>。因为conda会更好地处理包与包之间的依赖关系,确保整个环境的稳定性。 conda找不到时用pip: Anaconda 的仓库虽然庞大,但有时可能没有你需要的某个特定的、或者非常新的包。如果在conda中找不到(conda install失败),那么pip就是你的第二选择。在 同一个激活的环境 中,直接运行pip install <package_name>。
总结一句话: 用 conda 来管理环境,用 conda 来安装大部分的包,用 pip 作为 conda 的补充。
pip 的常用命令
假设你已经激活了一个 Conda 环境(例如 conda activate my_project),下面是 pip 的一些常用命令。
-
安装包:
pip install requests -
安装特定版本的包:
pip install pandas==1.2.5 -
升级包:
pip install --upgrade numpy -
卸载包:
pip uninstall requests -
查看已安装的包:
pip list -
查看某个包的详细信息:
pip show pandas
requests, pandas, numpy 等是Python中的包,根据你的需要安装包。默认Anaconda已经包含了很多常用的数据分析包,当你运行所需的包不存在时,可以使用 pip install 进行安装。
配置国内镜像源:让下载“飞起来”
无论是 conda 还是 pip,它们的默认服务器都在国外。由于网络原因,我们直接从官方源下载包时,速度可能会非常慢,甚至下载失败。
为了解决这个问题,我们可以将下载源配置为国内的镜像服务器。这些镜像服务器会定期从官方同步,保证我们能快速地访问到最新的资源。国内有很多优秀的镜像源,比如清华大学的 TUNA 镜像、阿里云镜像、豆瓣镜像等。
配置 pip 镜像源
配置 pip 的镜像源非常简单,只需要一个命令即可。我们以清华 TUNA 镜像为例(官方地址: https://mirrors.tuna.tsinghua.edu.cn/ 或者 https://pypi.tuna.tsinghua.edu.cn/)。

图:清华 TUNA 镜像配置示意图
# 临时使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <package_name>
# 永久配置 (推荐!)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
执行第二条命令后,pip 就会永久地将下载源设置为清华镜像。以后你再使用 pip install 时,就会自动从国内镜像下载,速度会得到质的飞跃。
配置 conda 镜像源
同样,我们也可以为 conda 配置镜像源。conda 的包是通过 “channels” 来管理的。我们可以将清华的镜像 channel 添加到 conda 的配置中。
打开命令行终端,依次执行以下命令:
# 添加清华大学的 anaconda 镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
# 设置搜索时显示 channel 的 URL,方便我们确认镜像源是否生效
conda config --set show_channel_urls yes
配置完成后,你可以通过 conda install 来测试一下。在安装包时,你会看到显示的下载链接已经是 mirrors.tuna.tsinghua.edu.cn 开头的了,这说明你的配置已经生效。
在开始使用 Anaconda 和 pip 之后,第一时间就把
conda和pip的镜像源都配置好。这将为你节省大量等待下载的时间。