在 Ubuntu 上装 Python 库,看起来只是敲一条命令,真正容易出问题的却是“装到哪里”“版本是否合适”以及“会不会影响别的项目”。这篇文章把 apt、pip、虚拟环境和 conda 四种常见做法拆开说明,并保留对应命令与验证方式,方便你按实际场景判断该选哪条路线。
先判断:Ubuntu 上安装 Python 库该选哪种方式
在开始之前,先明确一个原则:不同安装方式没有绝对的“最好”,关键在于你的目标是什么。

- 如果你要安装系统仓库里现成的库,追求稳定,优先考虑
apt。 - 如果你希望拿到 PyPI 上更新的版本,绝大多数情况下用
pip更合适。 - 如果你在做开发项目,尤其是多个项目并行,建议直接配合虚拟环境使用。
- 如果你本身就在用 Anaconda 或 Miniconda,或者涉及数据科学工作流,
conda会更省心。
使用 apt 安装:适合系统级、稳定优先的场景
APT 是 Ubuntu 自带的包管理工具,适合安装系统仓库中已经打包好的 Python 库。它的优点是稳定、依赖关系通常处理得比较完整,缺点是版本往往偏旧,可能落后几个大版本。
1. 先更新包列表
sudo apt update
这一步是让系统同步最新的软件包信息,避免直接安装到过期索引中的版本。
2. 安装指定 Python 库
命令格式如下:
sudo apt install python3-
例如安装 numpy:
sudo apt install python3-numpy
3. 验证是否安装成功
python3 -c "import numpy; print(numpy.__version__)"
如果命令能正常输出版本号,就说明安装成功,且当前 python3 可以正确导入该库。
使用 pip 安装:大多数场景更灵活的选择
pip 是 Python 官方包管理工具,直接对接 PyPI。它最大的优势是版本更新快、包数量全,通常比 Ubuntu 仓库里的版本更新,因此也是多数开发者的默认选择。
1. 先安装 pip 工具
如果系统里还没有 pip,先执行:
sudo apt install python3-pip
2. 安装单个库
基础命令格式:
pip3 install
例如安装 requests:
pip3 install requests
3. 安装指定版本
当项目依赖固定版本时,可以直接指定版本号:
pip3 install requests==2.25.1
4. 按 requirements.txt 批量安装
如果项目目录里已经准备好了 requirements.txt,可以一次装齐依赖:
pip3 install -r requirements.txt
5. 验证安装结果
python3 -c "import requests; print(requests.__version__)"
这一步适合在安装后快速确认当前解释器是否能找到目标库,以及实际装上的版本是否符合预期。
开发项目建议配合虚拟环境,避免依赖冲突
如果你不只是临时试用某个库,而是在维护项目,虚拟环境几乎是必选项。它能把每个项目的依赖隔离开,避免不同项目之间因为版本要求不同而互相影响。

1. 创建虚拟环境
python3 -m venv myenv
执行后,当前目录会生成一个 myenv 文件夹,用来存放这个环境专属的 Python 和依赖。
2. 激活虚拟环境
source myenv/bin/activate
激活后,终端提示符前通常会出现 (myenv),表示你已经进入这个独立环境。
3. 在虚拟环境中安装库
pip install
这时安装的库只在当前虚拟环境中生效,不会影响系统全局,也不会干扰其他项目。
4. 使用完后退出
deactivate
退出后,终端会回到系统默认环境。
使用 conda:更适合数据科学和多环境管理
如果你已经安装了 Anaconda 或 Miniconda,那么 conda 也是一条常见路线。它除了能管理 Python 包,还能管理环境和部分非 Python 依赖,这对科学计算、机器学习一类场景尤其有帮助。
1. 创建 conda 环境
conda create -n myenv python=3.8
这里可以直接指定 Python 版本,例如 python=3.8。
2. 激活环境
conda activate myenv
3. 安装库
conda install numpy
conda 会一并处理相关依赖,适合依赖链比较复杂的环境。
4. 退出环境
conda deactivate
安装时要注意的 3 个关键问题
权限问题
使用 apt 或在全局环境中用 pip 安装时,通常需要 sudo 提权;而在虚拟环境或 conda 环境中安装库,一般不需要 sudo。
版本选择
apt 安装的库通常更稳,但也更旧。如果你依赖某个新特性、Bug 修复,或者需要与项目锁定版本对齐,通常应优先考虑 pip 或 conda。
依赖隔离
只要是正式开发项目,最好不要把依赖都装到系统全局环境里。虚拟环境的价值不在“高级”,而在于它能显著减少依赖冲突和环境漂移带来的排查成本。
结论:按场景选工具,比死记命令更重要
如果你只是想快速安装 Ubuntu 仓库里的稳定版本,可以直接用 apt;如果你希望拿到更完整、更新的 Python 生态,pip 更常用;只要涉及项目开发,就建议把 venv 当成默认配置;而在数据科学或跨依赖环境较复杂的场景下,conda 仍然很有价值。
真正能减少踩坑的关键,不是记住哪条命令更短,而是先分清你装的是系统依赖、项目依赖,还是一套需要长期维护的独立运行环境。







