报错情况:
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
一、升级或卸载Python导致:
1、查看已安装python的版本,可能是当前系统存在多个python导致
[root@
test
~]
# whereis python
python:
/usr/bin/python2
.6
/usr/bin/python
/usr/bin/python2
.6-config
/usr/lib/python2
.6
/usr/lib64/python2
.6
/usr/include/python2
.6
/usr/share/man/man1/python
.1.gz
[root@
test
~]
# vi /usr/bin/yum
将
#!/usr/bin/python 修改为 #!/usr/bin/python2.6
如果是源代码安装的,默认路径是
/usr/local/bin/python2
.6,做个软链接即可
rm
-rf
/usr/bin/python
ln
-s
/usr/local/bin/python2
.6
/usr/bin/python
二、完全重装python和yum
1、删除现有Python
[root@
test
~]
# rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ##强制删除已安装程序及其关联
[root@
test
~]
# whereis python |xargs rm -frv ##删除所有残余文件 ##xargs,允许你对输出执行其他某些命令
[root@
test
~]
# whereis python ##验证删除,返回无结果
2、删除现有的yum
[root@
test
~]
# rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps
[root@
test
~]
# whereis yum |xargs rm -frv
3、从
http://mirrors.ustc.edu.cn/centos/7.4.1708/os/x86_64/Packages/下载相应的包
python-2.6.6-36.el6.x86_64.rpm
python-devel-2.6.6-36.el6.x86_64.rpm
python-libs-2.6.6-36.el6.x86_64.rpm
python-pycurl-7.19.0-8.el6.x86_64.rpm
python-setuptools-0.6.10-3.el6.noarch.rpm
python-urlgrabber-3.9.1-8.el6.noarch.rpm
python-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm-python-4.8.0-32.el6.x86_64.rpm
yum-3.2.29-40.el6.centos.noarch.rpm
yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
yum-utils-1.1.30-14.el6.noarch.rpm
yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
yum-plugin-protectbase-1.1.30-14.el6.noarch.rpm
yum-plugin-aliases-1.1.30-14.el6.noarch.rpm
python-backports-ssl_match_hostname
python-backports-
libxml2-python
python-kitchen
python-chardet
[root@
test
~]
# rpm -Uvh --replacepkgs libxml2-python*.rpm
[root@
test
~]
# rpm -Uvh --replacepkgs python*.rpm
[root@
test
~]
# rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm