Python – “No module named yum”centos7

“No module named yum”centos7… here is a solution to the problem.

“No module named yum”centos7

My operating system is CentOS Linux release 7.4.1708

First, I installed anaconda for python. Then I replaced the default python in /usr/bin/python.

$ ll /usr/bin/python*
lrwxrwxrwx. 1 root root  7 Aug 15 03:40 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root  9 Aug  9 22:10 /usr/bin/python3 -> python3.6
lrwxrwxrwx. 1 root root 29 Aug  9 22:10 /usr/bin/python2.7 -> /root/anaconda2/bin/python2.7
lrwxrwxrwx. 1 root root 29 Aug  9 21:59 /usr/bin/python3.6 -> /root/anaconda3/bin/python3.6
lrwxrwxrwx. 1 root root  9 Aug  8 23:49 /usr/bin/python2 -> python2.7

Python 2.7.15 | Anaconda, Inc.| (default, May  1 2018, 23:32:55)
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

So I can’t use yum anymore.

$ 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.15 | Anaconda, Inc.| (default, May  1 2018, 23:32:55)
[GCC 7.2.0]

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

I tried to fix the first line vi/usr/bin/yum to any other python path.
But it doesn’t work.

Also, I’m trying to reinstall python*.rpm:like this

rpm -ivh python-tools-2.7.5-68.el7.x86_64.rpm python-2.7.5-68.el7.x86_64.rpm python-libs-2.7.5-68.el7.x86_64.rpm tkinter-2.7.5-68.el7.x86_64.rpm

And reinstall yum*.rpm (I downloaded a lot of *.rpm today…)
However, it still doesn’t work.
Can anyone help me? Thanks!

Solution

I recently ran into this issue with Yum3.4.3 on CentOS7, Python 2.7.5

[root@centos64b build]# yum list 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.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

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

Although I didn’t update Python before I ran into this issue. It turned out that the python site-packages libpath was not set in sys.path, so the fix here was to append the site-package libpath to sys.path in the /usr/bin/yum Python script. Then yum works fine.

[build@centos64b ~]$ more /usr/bin/yum
#!/usr/bin/python
import sys
sys.path.append('/usr/lib/python2.7/site-packages')
sys.path.append('/usr/lib64/python2.7/site-packages')

Related Problems and Solutions