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
相关推荐
FoldWinCard10 小时前
D5 Linux 网络及端口命令
linux·运维·服务器
dNGUZ7UGj10 小时前
10分钟完成第一个Python小游戏
python·django
没有梦想的咸鱼185-1037-166311 小时前
AI-Python机器学习与深度学习技术:CNN/Transformer/扩散模型、SHAP可解释及Hermes智能体自动化
人工智能·python·深度学习·机器学习·chatgpt·cnn·transformer
霸道流氓气质11 小时前
SpringBoot中通用工具类库(Utils)封装与使用实践
spring boot·后端·python
零涂毕业设计11 小时前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
tedcloud12311 小时前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
霸道流氓气质12 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
SakitamaX12 小时前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs
小张同学a.12 小时前
Linux系统管理
linux·运维
阿龙的工作记录12 小时前
深入理解Linux设备驱动模型
linux·嵌入式硬件·工作记录