遇到问题---centos---运行yum报错:No module named yum

前端之家收集整理的这篇文章主要介绍了遇到问题---centos---运行yum报错:No module named yum前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

情况

我们在公司的集群环境想要使用yum命令进行安装一些组件,报错No module named yum。

完整报错信息如下:

There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   No module named yum

Please install a package which provides this module,or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python,which is:
2.7.11 (default,Jun 14 2016,14:13:45) 
[GCC 4.8.4]

If you cannot solve this problem yourself,please go to 
the yum faq at:
  http://yum.baseurl.org/wiki/Faq

如图:

原因

yum基于python写的,根据报错信息提示,是yum的python版本对应不上目前python环境的版本导致的。
也就是说 有人升级或者卸载了python。

解决方

查看yum版本

rpm -qa |grep yum

查看python版本

whereis python

输出

[zzq@host252 thrift-0.11.0]$ whereis python
python: /usr/src/Python-2.7.11/python /usr/bin/python2.6 /usr/bin/python /usr/bin/python2.6-config /usr/lib/python2.6 /usr/lib64/python2.6 /usr/local/bin/python2.7-config /usr/local/bin/python /usr/local/bin/python2.7 /usr/local/lib/python2.7 /usr/include/python2.6 /usr/share/man/man1/python.1.gz

发现果然安装了两个版本2.6和2.7版本。

查看python版本

whereis python

输出

[zzq@host252 thrift-0.11.0]$ python
Python 2.7.11 (default,14:13:45) 
[GCC 4.8.4] on linux2
Type "help","copyright","credits" or "license" for more information.

查找yum文件,并编辑此py文件

which yum

输出为/usr/bin/yum

vi /usr/bin/yum

如图

点击i键进入编辑模式
将通用的引用修改成指定的引用,引用回旧版本的,我们这里旧版本是whereis python输出的2.6。

#!/usr/bin/python

改为:

#!/usr/bin/python2.6

点击esc输入:wq保存退出

如果报错

File “/usr/sbin/yum-updatesd”,line 35,in
import dbus
ImportError: No module named dbus
则需要找到yum-updatest文件进行一样的修改,使用命令

which yum-updatest
vi /usr/bin/yum-updatest

有些版本找不到yum-updatest则不需要修改

猜你在找的CentOS相关文章