LINUX离线升级 Python 至 3.11.9 操作手册

本文档为傻瓜式操作指南 ,仅包含核心执行步骤,无额外建议,按步骤执行即可完成 Python 离线升级。

适用环境:CentOS 9(内核 5.14.0-601.el9.x86_64)、离线环境、当前 Python 版本 3.9.19。


前置准备(联网机器操作)

步骤 1:下载 Python 3.11.9 源码包

在一台有网络、同架构(x86_64)的 CentOS 9 机器上执行:

bash 复制代码
# 下载源码包(华为云镜像,速度更快)
wget https://mirrors.huaweicloud.com/python/3.11.9/Python-3.11.9.tgz

步骤 2:下载编译依赖包

bash 复制代码
# 创建依赖包存放目录
mkdir -p /root/python_deps
cd /root/python_deps

# 仅下载编译依赖包,不安装
dnf install --downloadonly --downloaddir=. gcc openssl-devel bzip2-devel libffi-devel zlib-devel make

# 打包依赖包,方便传输
cd /root
tar -zcvf python_deps.tar.gz python_deps/

步骤 3:传输文件到离线服务器

将以下 2 个文件通过 SFTP/U盘等方式,传输到离线服务器的 /root/ 目录下:

  • Python-3.11.9.tgz
  • python_deps.tar.gz

离线服务器操作(核心步骤)

步骤 1:安装编译依赖

bash 复制代码
# 解压依赖包
tar -zxvf /root/python_deps.tar.gz -C /root/

# 进入依赖包目录
cd /root/python_deps

# 离线安装所有依赖
dnf install -y *.rpm

# 回到根目录
cd /root/

步骤 2:编译安装 Python 3.11.9

bash 复制代码
# 解压源码包
tar -zxvf Python-3.11.9.tgz
cd Python-3.11.9

# 配置编译参数(固定路径,无需修改)
./configure --prefix=/usr/local/python311 --enable-optimizations --with-openssl=/usr

# 编译(自动匹配CPU核心数,加快速度)
make -j $(nproc)

# 安装(使用altinstall,不覆盖系统默认Python)
make altinstall

步骤 3:配置软链接(切换默认 Python 版本)

bash 复制代码
# 备份原有 python3 软链接
mv /usr/bin/python3 /usr/bin/python3.9.bak

# 备份原有 pip3 软链接
mv /usr/bin/pip3 /usr/bin/pip3.9.bak

# 创建指向 Python 3.11.9 的软链接
ln -s /usr/local/python311/bin/python3.11 /usr/bin/python3
ln -s /usr/local/python311/bin/pip3.11 /usr/bin/pip3

步骤 4:验证升级结果

bash 复制代码
# 检查 Python 版本(应输出 Python 3.11.9)
python3 -V

# 检查 pip 版本(应显示 pip xx.x.x from /usr/local/python311/.../python 3.11)
pip3 -V

验证标准

执行验证命令后,输出以下内容即为升级成功:

复制代码
Python 3.11.9
pip 24.2 from /usr/local/python311/lib/python3.11/site-packages/pip (python 3.11)

总结

  1. 核心流程:联网机器下载源码+依赖包 → 传输到离线服务器 → 安装依赖 → 编译安装 → 配置软链接;
  2. 所有命令均为固定写法,无需修改路径/参数,直接复制执行即可;
  3. 验证命令输出 Python 3.11.9 即为操作成功。
相关推荐
接着奏乐接着舞16 分钟前
3D Tiles tileset.jso 数据格式
运维·服务器·3d
李小白2020020218 分钟前
RK3568 linux6.1 死机
linux·运维·服务器
FreeGo~21 分钟前
Linux 系统编程 进程篇 (五)
java·linux·服务器
中二痞26 分钟前
下载Python 版本,环境变量变更以及PyCharm更换python版本
开发语言·python·pycharm
SilentSamsara29 分钟前
标准库精讲:collections/itertools/functools/pathlib 实战
开发语言·vscode·python·青少年编程·pycharm
小郑加油29 分钟前
python学习Day8-9天:函数(def)的基础运用
python·学习
2401_8242226929 分钟前
如何卸载并重装Oracle Grid_Deinstall脚本与ASM磁盘清理
jvm·数据库·python
杨云龙UP32 分钟前
Oracle数据库启动失败:ORA-29701、ORA-01565、ORA-17503故障处理记录_20260429
linux·运维·数据库·oracle·centos
qq_4142565732 分钟前
生产库如何利用Navicat实现配置特定触发器事件调度_提高管理效率
jvm·数据库·python
Agent产品评测局36 分钟前
离散制造业生产流程优化,AI落地实操步骤详解:从传统自动化到企业级智能体的技术范式跃迁
运维·人工智能·ai·自动化