位置:首页 > Python > CentOS 上安装 Python 需要哪些依赖?从基础环境到编译与项目隔离一次讲清

CentOS 上安装 Python 需要哪些依赖?从基础环境到编译与项目隔离一次讲清

时间:2026-08-25  |  作者:星河游者  |  阅读:0

在CentOS上部署Python环境,看似是装个包、跑个命令的事,但真要踩到依赖冲突、编译报错、系统Python被覆盖这些坑,就很头疼了。下面整理了一套从零开始的完整流程,覆盖系统更新、基础安装、编译自定义版本、系统依赖、虚拟环境管理,以及第三方仓库扩展,每一步都尽量说清“为什么这么做”,省得以后来回折腾。

CentOS上Python安装及依赖管理的完整流程

正式开始之前,先把系统包更新到最新,避免因为旧包版本不兼容导致后续安装失败。这一步虽然基础,但很关键。

1. 更新系统包

在安装任何依赖前,建议先更新系统包以确保兼容性:

CentOS上Python安装需要哪些依赖

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 库(比如 numpyscipypsycopg2)在底层依赖 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-develsqlite-devel)。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多