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 小时前
03.OpenStack使用
linux·前端·云原生·容器·架构·kubernetes·openstack
林三的日常16 小时前
Nginx-Rift 漏洞
运维·nginx
小李不困还能学16 小时前
PyCharm2025.2下载安装配置保姆级教程
python·pycharm
DianSan_ERP16 小时前
快手订单接口中的逆向流程如何实现售后自动化处理?
运维·自动化
志栋智能16 小时前
从单点检查到全景监控:巡检超自动化的维度拓展
运维·服务器·网络·人工智能·自动化
实心儿儿16 小时前
Linux —— Linux进程信号 - 信号产生
linux·运维·服务器
A000—ic测试座(陈佳鑫)16 小时前
芯片高温加速寿命测试:除了初始测试还有哪些关键条件?
网络·人工智能·python
2301_8039346116 小时前
SQL如何进行分组后字符串拼接_使用GROUP_CONCAT或STRING_AGG
jvm·数据库·python
楼兰公子16 小时前
RK3588 + Linux 7.0.3 内核网络子系统高阶进阶全解
linux·网络
b***251116 小时前
电池组PACK自动化生产线的工艺环节与关键控制
运维·自动化