升級Python致使的yum,pip報錯解決方案

緣由:

yum是Python寫的。服務器上Python版本太低,升級爲2.7,而yum/pip未升級,致使在執行yum/pip時報這個錯誤。
yum報錯:python

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.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報錯:shell

Traceback (most recent call last):
  File "/usr/bin/pip2", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

yum解決方案:

一、查看Python版本,執行:vim

which python
能夠查看到存在兩個版本的Python。

二、查看yum文件,執行:服務器

vim /usr/bin/yum

能夠在文件的第一行,看到yum的Python引用。將原有的 #!/usr/bin/python 改成 #!/usr/bin/python2.6(老版本)ide

clipboard.png

三、跳出再次執行yum,便可使用。ui

pip解決方案

方法一:同yum,不建議。
方法二:
按照方法一修改後發現,再次使用pip安裝的插件都在Python的老版本中,因此不建議使用第一種方案。
還有就是在本身的Python安裝路徑中,找到pip2.7文件[參考:/usr/local/Python-2.7.10/bin/pip2.7]。
而後到/usr/bin中,刪除(最好先備份)原有pip,而後再用軟鏈接指向上述路徑this

rm -rf /usr/bin/pip
ln -s /usr/local/Python-2.7.10/bin/pip2.7 pip /usr/bin/pip
相關文章
相關標籤/搜索