目录
一、前提概要
在部署 gaussDB 的时候,安装代理时要求 python 版本满足 3.7.9,但已安装的麒麟 V10 内集成的 python 版本是 3.7.4,且安装时已报错 python 版本不满足,故需要对 python 进行小版本升级。
在升级成功后,python 的版本满足了,但是却发现 yum 使用报错(配置的本地镜像源)。
No module named ‘dnf’
ModuleNotFoundError: No module named ‘libdnf’
一开始怀疑是 python 环境变量未设置好,在一番折腾后还是不行。遂放弃。
大概的解决思路是重装 python 3.7.9 与 yum。步骤如第二章所示
二、解决办法
1、卸载原有的 python
whereis python3 |xargs rm -frv
2、安装 Python 3.7.9 rpm
rpm -ivh --force python3-3.7.9-6.ky10.x86_64.rpm
安装完 python 后,yum 使用还是有相同的问题,此时需要继续下载缺失 rpm 包,解决依赖问题。
3、安装一系列 yum 相关 rpm
rpm -ivh --force --nodeps dnf-4.2.23-3.p02.ky10.noarch.rpm dnf-help-4.2.23-3.p02.ky10.noarch.rpm python3-dnf-4.2.23-3.p02.ky10.noarch.rpm dnf-automatic-4.2.23-3.p02.ky10.noarch.rpm dnf-automatic-4.2.23-3.p02.ky10.noarch.rpm python3-hawkey-0.48.0-1.p01.ky10.x86_64.rpm python3-libdnf-0.48.0-1.p01.ky10.x86_64.rpm libdnf-0.48.0-1.p01.ky10.x86_64.rpm libmodulemd-2.9.4-1.ky10.x86_64.rpm librepo-1.12.0-1.ky10.x86_64.rpm
rpm -ivh --force --nodeps python3-rpm-4.15.1-17.ky10.x86_64.rpm
rpm -ivh --force --nodeps python3-libcomps-0.1.10-2.ky10.x86_64.rpm
rpm -ivh --force --nodeps libcomps-0.1.10-2.ky10.x86_64.rpm
rpm -ivh --force --nodeps python3-gpgme-1.14.0-1.ky10.x86_64.rpm
最后成功解决,yum 可以使用,同时 python 满足版本要求。
记住,yum 需要重新配置源。setup 和 pip 的依赖库需要重新安装。
4、rpm 包下载
折腾了一整天,从别处拷贝来的 rpm 包(解决了各种版本依赖的问题),若读者不愿从网络或更高版本的 麒麟 V10 iso 镜像中拷贝 rpm 包,可以下载付费资源。
麒麟V10SP1升级python3.7.9所需rpm包资源-CSDN文库https://download.csdn.net/download/qq_37437983/89645119