原因:
yum是Python写的。服务器上Python版本过低,升级为2.7,而yum/pip未升级,导致在执行yum/pip时报这个错误。
yum报错:There was a problem importing one of the Python modulesrequired to run yum. The error leading to this problem was: No module named yumPlease install a package which provides this module, orverify that the module is installed correctly.It's possible that the above module doesn't match thecurrent version of Python, which is:2.7.10 (default, Sep 5 2017, 17:35:43) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)]If you cannot solve this problem yourself, please go to the yum faq at: http://yum.baseurl.org/wiki/Faq
pip报错:
Traceback (most recent call last): File "/usr/bin/pip2", line 5, infrom pkg_resources import load_entry_pointImportError: No module named pkg_resources
yum解决方案:
1、查看Python版本,执行:
which python
可以查看到存在两个版本的Python。
2、查看yum文件,执行:
vim /usr/bin/yum
可以在文件的第一行,看到yum的Python引用。将原有的 #!/usr/bin/python 改为 #!/usr/bin/python2.6(老版本)
3、跳出再次执行yum,即可使用。
pip解决方案
方法一:同yum,不建议。
方法二:按照方法一修改后发现,再次使用pip安装的插件都在Python的老版本中,所以不建议使用第一种方案。还有就是在自己的Python安装路径中,找到pip2.7文件[参考:/usr/local/Python-2.7.10/bin/pip2.7]。然后到/usr/bin中,删除(最好先备份)原有pip,然后再用软连接指向上述路径rm -rf /usr/bin/pipln -s /usr/local/Python-2.7.10/bin/pip2.7 pip /usr/bin/pip