CentOS 上安装 Python 需要哪些依赖?从基础环境到编译与项目隔离一次讲清
时间:2026-08-25 | 作者:星河游者 | 阅读:0在CentOS上部署Python环境,看似是装个包、跑个命令的事,但真要踩到依赖冲突、编译报错、系统Python被覆盖这些坑,就很头疼了。下面整理了一套从零开始的完整流程,覆盖系统更新、基础安装、编译自定义版本、系统依赖、虚拟环境管理,以及第三方仓库扩展,每一步都尽量说清“为什么这么做”,省得以后来回折腾。
CentOS上Python安装及依赖管理的完整流程
正式开始之前,先把系统包更新到最新,避免因为旧包版本不兼容导致后续安装失败。这一步虽然基础,但很关键。
1. 更新系统包
在安装任何依赖前,建议先更新系统包以确保兼容性:
sudo yum update -y
# CentOS 7/8通用
2. 安装Python基础环境
CentOS 7 默认只带 Python 2.7,需要额外安装 Python 3;而 CentOS 8 及以上版本已经预装了 Python 3.6+,可以直接使用。安装 Python 3 和 pip 的命令如下:
sudo yum install -y python3 python3-pip
# 安装Python 3和pip
3. 编译安装Python(可选,自定义版本时需此步骤)
如果官方源里没有你想要的版本(比如 Python 3.11),或者需要特定的编译优化,那就得自己动手编译了。编译前先装好工具链和系统依赖:
sudo yum groupinstall -y "Development Tools"
# 安装编译工具链(gcc、make等)
sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel uuid-devel libffi-devel
# Python编译所需系统依赖
然后下载源码,配置、编译、安装(以 3.11 为例):
wget https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tgz
tar -zxvf Python-3.11.2.tgz
cd Python-3.11.2
./configure --prefix=/usr/local/python3.11 --enable-optimizations
# 配置编译选项
make -j $(nproc)
# 多线程编译(提升速度)
sudo make altinstall
# 避免覆盖系统默认Python
最后创建软链接,方便直接调用:
sudo ln -sf /usr/local/python3.11/bin/python3.11 /usr/bin/python3
sudo ln -sf /usr/local/python3.11/bin/pip3.11 /usr/bin/pip3
4. 安装系统级Python依赖
不少 Python 库(比如 numpy、scipy、psycopg2)在底层依赖 C 和 Fortran 库,如果这些系统级依赖没装好,pip 安装时会报错。提前装好能省很多事:
sudo yum install -y blas-devel lapack-devel gcc-gfortran
# 数值计算库依赖
sudo yum install -y mariadb-devel postgresql-devel
# 数据库驱动依赖(如MySQL/PostgreSQL)
5. 使用pip安装Python包依赖
用 pip 安装包时,强烈建议使用虚拟环境隔离项目依赖,避免不同项目之间相互干扰。流程如下:
# 创建虚拟环境
python3 -m venv myenv
# 激活虚拟环境
source myenv/bin/activate
# 安装包(以requests为例)
pip install requests
# 安装指定版本(如requests==2.25.1)
pip install requests==2.25.1
# 从requirements.txt安装所有依赖(项目常用)
pip install -r requirements.txt
# 退出虚拟环境
deactivate
6. 可选:添加第三方仓库(扩展包来源)
如果默认仓库里没有你需要的包,可以添加 EPEL 仓库(Extra Packages for Enterprise Linux),它补充了大量常用软件包:
sudo yum install -y epel-release
sudo yum update
注意事项
- 避免直接覆盖系统默认Python(CentOS依赖系统Python运行部分服务),建议使用虚拟环境或自定义安装路径;
- 编译Python时添加
--enable-optimizations可提升运行速度,但会增加编译时间; - 若安装过程中间出现依赖错误,可根据错误提示用
yum安装缺失的系统依赖(如libffi-devel、sqlite-devel)。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- Golang 在 CentOS 上怎么配置数据库连接:MySQL 与 PostgreSQL 实战说明
- 时间:2026-08-25
-
- CentOS 上 Python 版本怎么选:先保系统,再看项目与稳定性
- 时间:2026-08-25
-
- CentOS 下如何配置 Golang 并发模型
- 时间:2026-08-25
-
- CentOS 系统部署 Golang 应用,安全配置该从哪些环节下手
- 时间:2026-08-25
-
- Golang 在 CentOS 上如何搭建调试环境
- 时间:2026-08-25
-
- CentOS 下如何调试运行 Python 脚本:从 print 到 pdb 的实用选择
- 时间:2026-08-25
-
- CentOS 中 Golang 依赖库怎么安装
- 时间:2026-08-25
-
- 在 CentOS 上部署 Go 项目,这些细节要先处理好
- 时间:2026-08-25
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15
