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
相关推荐
Larry_Yanan5 分钟前
Qt网络开发之基于 QWebEngine 实现简易内嵌浏览器
linux·开发语言·网络·c++·笔记·qt·学习
winfredzhang6 分钟前
用 Python + DeepSeek AI 构建文件批量重命名与智能管理工具
python·api·重命名·预览·解压·deepseek
西西弗Sisyphus12 分钟前
Python 中__pycache__文件夹
python
qingcyb18 分钟前
重复 id 对应的多个对象
开发语言·python
mingshili18 分钟前
[python] asyncio常规操作记录
python·async
chushiyunen20 分钟前
python edge-tts实现tts文本转语音、音频
数据库·python·音视频
嫂子的姐夫27 分钟前
040-spiderbuf第C8题
javascript·爬虫·python·js逆向·逆向
江上清风山间明月30 分钟前
python将dtso文件转换成dtbo文件
python·dts·dtso
天下无贼!35 分钟前
【Python】2026版——FastAPI 框架快速搭建后端服务
开发语言·前端·后端·python·aigc·fastapi
2501_9454235438 分钟前
游戏与图形界面(GUI)
jvm·数据库·python