CentOS 8 部署 Python 3.12.3 完整教程
-
CentOS 8 部署 Python 3.12.3 完整教程
环境准备
已配置环境:
- 系统:CentOS 8(IP: 192.168.15.15)
- 服务:sshd/nscd已启用 | firewalld/selinux已关闭
- Yum源:华为云镜像源
- 工具预装:tree, wget, vim等
一、安装编译依赖
sudo dnf update -y sudo dnf groupinstall "Development Tools" -y sudo dnf install gcc openssl-devel bzip2-devel libffi-devel \ zlib-devel ncurses-devel sqlite-devel \ readline-devel tk-devel xz-devel libuuid-devel -y
二、下载并编译 Python 3.12.3
# 下载源代码 cd /usr/src sudo wget https://www.python.org/ftp/python/3.12.3/Python-3.12.3.tgz sudo tar xzf Python-3.12.3.tgz # 编译安装(启用优化) cd Python-3.12.3 sudo ./configure --enable-optimizations sudo make altinstall # 保留系统默认Python
关键参数说明
--enable-optimizations
:启用编译器优化,提升10%-20%性能
altinstall
:防止覆盖系统默认python3版本
三、验证安装
python3.12 --version # 应输出:Python 3.12.3 # 检查pip可用性 pip3.12 --version
四、配置环境
# 创建软链接(如需作为默认python3) sudo ln -s /usr/local/bin/python3.12 /usr/bin/python3 sudo ln -s /usr/local/bin/pip3.12 /usr/bin/pip3 # 更新pip到最新版本(可选) pip3.12 install --upgrade pip
一键安装 Shell 脚本
#!/bin/bash # CentOS 8 Python 3.12.3 一键安装脚本 # 要求:sudo权限|已关闭selinux echo "▶ 开始安装Python 3.12.3依赖..." sudo dnf update -y sudo dnf groupinstall "Development Tools" -y sudo dnf install gcc openssl-devel bzip2-devel libffi-devel \ zlib-devel ncurses-devel sqlite-devel \ readline-devel tk-devel xz-devel libuuid-devel -y echo "▶ 下载解压源码..." cd /usr/src sudo wget https://www.python.org/ftp/python/3.12.3/Python-3.12.3.tgz sudo tar xzf Python-3.12.3.tgz echo "▶ 编译安装(优化模式)..." cd Python-3.12.3 sudo ./configure --enable-optimizations sudo make altinstall echo "✅ 安装完成!验证版本:" /usr/local/bin/python3.12 --version echo "⏹ 建议操作:" echo " 使用:/usr/local/bin/python3.12" echo " Pip路径:/usr/local/bin/pip3.12" echo " 如需设置默认Python:sudo ln -s /usr/local/bin/python3.12 /usr/bin/python3"
使用说明
-
保存为
install_python312.sh
-
赋予执行权限:
chmod +x install_python312.sh
-
运行脚本:
./install_python312.sh
常见问题解决
-
编译时报错
Could not import runpy
安装缺失依赖:sudo dnf install zlib-static -y && make clean && make altinstall
-
Pip安装慢
更换国内镜像源:pip3.12 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
实测编译耗时:8核虚拟机约15分钟,单核云服务器约40分钟