背景:公司系统是用的Centos6.5,系统自带的是python2.6。由于本人常使用python进行一些工作,所以用的一些模块就比较频繁,就常常出现使用这些模块就需要python >= 2.7的情况。所以,就选择了升级python。
1,下载python2.7的包
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
2,解压,安装python2.7包
tar -zvxf Python-2.7.3.tgz
cd Python-2.7.3
./configure –prefix=/usr/local —>默认也是这个路径。当然也可以用其他路径
make && make install
3,替换,更新python
mv /usr/bin/python /usr/bin/python2.6 —>挪走,别删,很多系统命令还要依赖于这个python2.6
ln -s /usr/local/python2.7/bin/python /usr/bin/python —>用2.7替换系统自带python
python -V —>验证python版本
4,替换后的问题。
4.1 替换后,首先你就会发现yum不能用了。敲yum命令会出现这样的报错。
解决办法:vim /usr/bin/yum,然后修改下图中的头文件。改成最开始挪走的那个python版本。
修改方法:把下图的头文件改成 #!/usr/bin/python2.6就可以正常使用了。![这里写图片描述](https://img-blog.csdn.net/20160120165645406)
4.2 替换后,你会发现pip使用不了了。也就是说你不能安装新的模块!(那我升级个蛋啊喂!)错误如下:
解决办法: wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz 这个东西是重新为我们新的python装一个pip
tar -zvxf distribute-0.6.35.tar.gz
cd distribute-0.6.35.tar.gz
/usr/local/python2.7/bin/python setup.py install(用新的python安装这个)
然后就会在/usr/local/python2.7/bin下面生成一个easy_install
/usr/local/python2.7/bin/easy_install pip(为新的python安装一个pip)
然后就能使用pip安装新的东西了。(建议去捋一捋pip,eaay_install,等这些关系)
4.3 虽然我们能安装模块了,有的人可能会发现新的python里面我们进入命令行以后一旦输入错东西,想删除删不了,出现乱码。原来是readline这个模块没有装,然后pip也装不上,还是会报错。我当时的解决方法是 yum install readline* 这样就可以了。