CentOS官方不维护版本,配置python升级方法,无损版

针对 CentOS 8 系统,更新 Python 需要特别注意。CentOS 8 已经进入 EOL (End Of Life) 状态,这意味着官方的 yumdnf 源已经不再提供更新。因此,我们通常会使用替代源,如 Vault 或第三方源(如 AlmaLinux/Rocky Linux 的源)。

下方是文章发布时能使用的源

复制代码
# CentOS-Vault.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.

[base]
name=CentOS-8 - Base
baseurl=https://vault.centos.org/8.5.2111/BaseOS/x86_64/os/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

[appstream]
name=CentOS-8 - AppStream
baseurl=https://vault.centos.org/8.5.2111/AppStream/x86_64/os/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

[extras]
name=CentOS-8 - Extras
baseurl=https://vault.centos.org/8.5.2111/extras/x86_64/os/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

[centosplus]
name=CentOS-8 - Plus
baseurl=https://vault.centos.org/8.5.2111/centosplus/x86_64/os/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

[PowerTools]
name=CentOS-8 - PowerTools
baseurl=https://vault.centos.org/8.5.2111/PowerTools/x86_64/os/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

核心原则不变:绝对不要删除或替换系统自带的 Python (/usr/bin/python3) ,否则 dnf 等系统工具将无法工作。

步骤 1: 安装编译依赖

首先,你需要安装编译 Python 源码所需的工具和库。由于 CentOS 8 EOL,你可能需要先配置好可用的源(例如,指向 Vault 源)。

复制代码
# 更新软件包索引
sudo dnf update -y

# 安装编译工具和依赖库
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y \
    zlib-devel \
    bzip2-devel \
    openssl-devel \
    ncurses-devel \
    sqlite-devel \
    readline-devel \
    tk-devel \
    libffi-devel \
    gdbm-devel \
    xz-devel \
    uuid-devel
步骤 2: 安装 pyenv

使用官方的安装脚本是最简单的方式。

复制代码
# 下载并执行安装脚本
curl https://pyenv.run | bash
步骤 3: 配置环境变量

安装完成后,你需要将 pyenv 添加到你的 shell 配置文件中,以便每次登录时都能使用。

复制代码
# 对于 bash shell (CentOS 默认)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

# 重新加载 shell 配置
exec "$SHELL"
步骤 4: 安装和使用新的 Python 版本

现在你可以安装任何你需要的 Python 版本了。

复制代码
# 1. 查看所有可安装的 Python 版本
pyenv install --list

# 2. 安装你想要的版本,例如 Python 3.11.6
# (这个过程会从源码编译,需要一些时间)
pyenv install 3.11.6

# 3. 查看已安装的版本
pyenv versions

# 4. 设置全局默认版本 (这会影响你当前用户的所有shell)
pyenv global 3.11.6

# 5. 验证当前 Python 版本
python --version
# 或者
python3 --version
# 输出应该类似: Python 3.11.6

# 6. 查看 pip 版本,它也对应了新的 Python
pip --version
相关推荐
Awesome Baron18 小时前
skill、tool calling、MCP区别
开发语言·人工智能·python
日取其半万世不竭18 小时前
Minecraft Java版社区服务器搭建教程(Linux,适合新手)
java·linux·服务器
时空自由民.19 小时前
蓝牙协议之GAP协议
linux·服务器·网络
测试员周周19 小时前
【AI测试系统】第4篇:告别硬编码!基于 Markdown + Python 的 Skill 引擎设计:让 AI 测试系统拥有无限扩展的“灵魂”
人工智能·python·测试
武帝为此19 小时前
【Selenium 屏幕截图】
python·selenium·测试工具
leaves falling19 小时前
Linux 基础指令完全指南 —— 从入门到熟练
linux·运维·服务器
念恒1230619 小时前
Python(列表进阶)
python·学习
276695829220 小时前
阿里最新acw_sc__v2 分析
开发语言·python·acw_sc__v2·acw_sc__v2逆向·acw_sc__v2算法·acw_sc__v2算法分析·cookie逆向
charlie11451419120 小时前
嵌入式Linux驱动开发——新字符设备驱动 API 概览
linux·运维·驱动开发
♛识尔如昼♛20 小时前
C 进阶(2) - 文件I/O
linux·文件i/o