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

针对 CentOS 8 系统,更新 Python 需要特别注意。CentOS 8 已经进入 EOL (End Of Life) 状态,这意味着官方的 yum 或 dnf 源已经不再提供更新。因此,我们通常会使用替代源,如 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
相关推荐
雪落漂泊1 小时前
Linux进程(五):进程地址空间篇
linux·运维·服务器
AR-26710-2 小时前
Linux Day32——网络,ROCE-IB与以太网
linux·运维
合尘猫2 小时前
图片表格变结构化数据:OCR 后的三个坑
python·ocr
小小张说故事2 小时前
Python 里弱引用到底弱在哪:拆开 weakref.ref、回调陷阱和 WeakValueDictionary
python
用户019027581612 小时前
用 DuckDB 存查 A 股 K 线:零服务、SQL 直接分析
python
程序员果子4 小时前
本体构建方法
人工智能·python·知识图谱·agent框架·本体
天天被压力4 小时前
【A股分钟级高频数据完全手册 #11】券商实时行情数据接口:实时交易(券商源)接入与字段
java·人工智能·python
总裁余(余登武)4 小时前
【python项目】:1操作EXCEl自动化开发
python·自动化·excel
芝梵家电数据笔记4 小时前
用字段表核对暖菜板长期使用条件:结构、暖区、质保边界
python·家电·数据校验·dataclass·选购
天天被压力4 小时前
【A股分钟级高频数据完全手册 #12】股票五档盘口数据接口:买卖五档实时盘口解析
java·人工智能·python