CentOS8卸载Python3.6装3.10后yum update报错找不到平台独立库
根本原因
CentOS 8 的 yum、dnf 等系统包管理工具强依赖系统原生的 Python 3.6 版本,卸载原生版本后,包管理工具的默认 Python 解释器路径失效。同时 sudo 执行时会自动重置用户侧配置的环境变量,因此手动设置的 PYTHONHOME、PYTHONPATH 不会生效,无法解决依赖缺失问题。
解决步骤
恢复系统原生 Python 3.6
先进入临时目录,下载 CentOS 官方源对应的 Python 3.6 安装包,再强制安装:cd /tmp wget http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/python36-3.6.8-38.el8.x86_64.rpm wget http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/python36-libs-3.6.8-38.el8.x86_64.rpm wget http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/python36-setuptools-39.2.0-7.el8.noarch.rpm rpm -ivh --replacefiles --force python36-*.rpm如果是ARM架构,替换链接中的
x86_64为aarch64即可。修正包管理工具的解释器指向
编辑/usr/bin/yum文件,将第一行的解释器声明修改为:#!/usr/bin/python3.6同样修改
/usr/libexec/urlgrabber-ext-down文件的第一行解释器声明为上述内容。验证yum功能
执行sudo yum update测试,此时命令应该可以正常运行。保留Python 3.10为用户默认版本
不要修改系统级的python3软链接,通过用户级alias配置实现默认使用3.10版本,避免影响系统工具运行:
打开~/.bashrc文件,追加如下内容:alias python3='/usr/local/bin/python3.10' alias pip3='/usr/local/bin/pip3.10'执行
source ~/.bashrc生效配置,普通用户执行python3 -V仍会返回Python 3.10.0,和之前的使用习惯一致。
内容的提问来源于stack exchange,提问作者Jesper.Lindberg
相关产品推荐
相关产品推荐

