python升级或者卸载导致No module named yum

环境cenos7.6
原理:yum命令其实是用python编写,而在https://www.python.org/ftp/python/下载的python编译后是没有yum模块。
解决:要不就指向原有系统默认的python,如果默认的被删除,则需要找到对应系统版本的rpm安装包重新下载。

python升级导致No module named yum

如果只是升级python,修改过软链接,那么只要重新把软链接指向原有默认的python版本即可。cenos7.6默认是Python 2.7.5。

ln -s 【目标目录】 【软链接地址】

例如:

mv /usr/bin/python /usr/bin/python_old2 #备份旧的
ln -s /usr/bin/python2.7  /usr/bin/python 

如果误删除系统默认python

再重新安装对应系统版本的python和yum模块

下载相关安装包
http://mirrors.163.com/centos/7/os/x86_64/Packages/

以下是我安装的包:

yum-utils-1.1.31-53.el7.noarch.rpm
yum-plugin-protectbase-1.1.31-53.el7.noarch.rpm
yum-plugin-fastestmirror-1.1.31-53.el7.noarch.rpm
yum-plugin-aliases-1.1.31-53.el7.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
yum-3.4.3-167.el7.centos.noarch.rpm
rpm-python-4.11.3-43.el7.x86_64.rpm
rpm-libs-4.11.3-43.el7.x86_64.rpm
rpm-build-libs-4.11.3-43.el7.x86_64.rpm
rpm-4.11.3-43.el7.x86_64.rpm
python-urlgrabber-3.10-10.el7.noarch.rpm
python-pycurl-7.19.0-19.el7.x86_64.rpm
python-libs-2.7.5-88.el7.x86_64.rpm
python-kitchen-1.1.1-5.el7.noarch.rpm
python-iniparse-0.4-9.el7.noarch.rpm
python-chardet-2.2.1-3.el7.noarch.rpm
python-2.7.5-88.el7.x86_64.rpm
libxml2-python-2.9.1-6.el7.4.x86_64.rpm
libxml2-2.9.1-6.el7.4.x86_64.rpm

如果安装过程有提示依赖没安装,那么找到对应的依赖安装。
例如:

错误:依赖检测失败:
        libxml2 = 2.9.1-6.el7.4 被 libxml2-python-2.9.1-6.el7.4.x86_64 需要
        rpm = 4.11.3-43.el7 被 rpm-python-4.11.3-43.el7.x86_64 需要

验证No module named yum

其实只要在python里面执行import yum,没有报错即可

[nai@nai83 ~]$ python
Python 2.7.5 (default, Apr  2 2020, 13:16:51) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import yum
>>>

猜你喜欢

转载自blog.csdn.net/qq_33873431/article/details/106231518