【疑难杂症】-CentOS-修改python版本后yum运行出错

线上服务器使用的是CentOS 6.3,系统自带的python是2.6版本的,该版本的python已经很老了,企业大部分再用的python是2.7版本,而且公司编写的Python爬虫使用的也是2.7版本的,所以就必须把系统的python升级到2.7。但是升级后,系统很多自带的工具使用报错,比如系统工具yum,因为认在安装的时候使用的是2.6版本的python。接下来就看看python升级后对yum的影响。


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.6 (default,Oct 15 2015,13:18:59)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)]

大致意思就是说在运行yum时倒入python模块出错,给出的错误原因是yum和当前的python版本不匹配,当前python版本为2.7.6,知道问题了那么就容易解决了,也就是说把yum运行的python版本改为2.6的即可,解决方法如下:

查看系统的python版本:

[root@web1 xxx]# whereis python
python: /usr/bin/python2.6 /usr/bin/python.tar /usr/bin/python /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

查找yum的位置并编辑python的版本:
[root@web1 xxx]# which yum
/usr/bin/yum
[root@web1 xxx]# vim /usr/bin/yum
将
#!/usr/bin/python
改为:
#!/usr/bin/python2.6

然后运行yum,如果不在报错说明问题已经解决

Linux很多自带的工具依赖python,所以在修改时一定要保留原版本的python,新增一个python版本然后修改即可!

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native