在 CentOS 上装 Python 包,最容易出问题的地方通常不是命令本身,而是工具混用:系统自带的是 Python 2.7,项目实际又需要 Python 3;全局环境能跑,换台机器却复现不了。要把这些问题一次理顺,关键是先分清系统包、项目依赖和环境隔离分别该交给谁处理。
下面按实际使用顺序梳理一遍:先准备 Python 3 和 pip3,再看 pip3 的高频操作,接着处理虚拟环境,最后补充 yum 和 conda 这两类常见替代方案。看完后,你可以根据项目类型判断该用哪种工具,也能减少依赖冲突和版本混乱。
先在 CentOS 上准备 Python 3 和 pip
CentOS 7 及以上版本通常自带 Python 2.7,但 Python 2 已经停止维护,因此实际使用时应优先选择 Python 3,例如 3.6+。

基础安装命令如下:
sudo yum install python3
sudo yum install python3-pip如果你确实还要维护旧项目,也可以安装 Python 2 对应的 pip,但这不是推荐做法:
sudo yum install python-pip这里最重要的判断标准只有一条:新项目默认使用 python3 和 pip3,尽量不要把 Python 2 的包管理混进来。
pip3 常用命令有哪些
在 CentOS 上,pip3 基本覆盖了日常 Python 包管理需求。常见操作可以分成安装、升级、卸载、查询和依赖导出五类。
安装、升级和卸载
pip3 install package_name
pip3 install requests
pip3 install --upgrade package_name
pip3 install --upgrade requests
pip3 uninstall package_name
pip3 uninstall requests如果只是给项目补依赖,通常会先从安装和升级开始;出现包冲突或需要替换实现时,再用卸载命令清理旧包。
查看已安装包和包详情
pip3 list
pip3 show package_name
pip3 show requestspip3 list 用来查看当前环境里已经安装了哪些包及其版本,pip3 show 则更适合排查单个包的信息,比如版本、作者和依赖关系。
导出和复用 requirements.txt
如果你需要把当前环境交给同事,或者要把项目部署到另一台机器,最好把依赖记录到文件里:
pip3 freeze > requirements.txt
pip3 install -r requirements.txtrequirements.txt 的作用很直接:把“这台机器能跑”的状态变成“别的环境也能装出来”的清单。对团队协作和部署来说,这一步几乎是标配。
为什么要用虚拟环境隔离依赖
多个 Python 项目放在同一台 CentOS 机器上时,最常见的问题就是依赖版本互相冲突。一个项目要旧版库,另一个项目要新版库,如果都装到全局环境里,后续维护会越来越难。

因此,更稳妥的做法是为每个项目单独创建环境。
安装 virtualenv 或直接使用 venv
sudo pip3 install virtualenv如果系统里的 Python 3 已经可用,也可以直接使用内置的 venv 模块,这通常更省事。
创建、激活和退出环境
virtualenv myenv
virtualenv -p python3 myenv
source myenv/bin/activate
deactivate这几条命令分别对应:
- 创建名为
myenv的虚拟环境; - 显式指定使用
python3创建环境; - 激活环境,激活后终端提示符通常会显示环境名;
- 退出环境,返回系统默认环境。
实际使用中,可以把它理解成一条简单原则:项目依赖尽量装在虚拟环境里,而不是直接装到系统全局。
除了 pip3,还有哪些包管理方式
虽然 pip3 是最常见的选择,但在 CentOS 上,yum 和 conda 也各有位置。它们并不是谁替代谁,而是适用场景不同。

yum:适合系统仓库里的 Python 包
yum 更偏向系统级安装,优点是和系统仓库集成,缺点是包版本往往偏旧。
sudo yum install python3-package_name
sudo yum install python3-requests
sudo yum remove python3-package_name
yum list installed | grep python3
yum search python3-package_name如果你只是想装系统仓库里已有的 Python 包,或者环境对稳定性要求高于新版本特性,可以优先考虑这套方式。
conda:更适合数据科学和复杂依赖
conda 常见于 Anaconda 或 Miniconda 体系,尤其适合数据科学、机器学习以及包含非 Python 依赖的场景。
bash Miniconda3-latest-Linux-x86_64.sh
conda create --name myenv python=3.8
conda activate myenv
conda install package_name
conda install numpy
conda env export > environment.yml
conda env create -f environment.yml和 pip3 相比,conda 在处理复杂依赖、指定解释器版本以及迁移整套环境时通常更省心,尤其是科学计算类项目。
CentOS 管理 Python 包时要注意什么
把前面的操作落到实践里,可以归纳出三条最重要的经验:
- 优先使用
pip3:避免把 Python 2 和 Python 3 的依赖混装,尤其要记住 Python 2 已经 EOL。 - 项目尽量使用虚拟环境:不要把项目依赖直接装到全局环境里,否则后面很容易遇到版本冲突。
- 及时导出依赖文件:项目完成后生成
requirements.txt,迁移部署和团队协作都会轻松很多。
如果你的目标是日常 Web 开发或普通脚本维护,通常选择“Python 3 + pip3 + 虚拟环境”就够用了;如果是系统仓库依赖,考虑 yum;如果是数据科学和复杂环境管理,再转向 conda 会更合适。







