很多linux的发行版,自带python版本都是2.6或者更前。尤其是centos。 这带了很多不便,官方已经不在更新2.6了,假如你在用python进行开发,那么高版本的很多特性2.6并不支持。再比如一下软件,之间在部署一个监控程序,用的cassandra数据库,依赖于python2.7,就不得不升级。
升级步骤
下载python2.7
1 | wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2 |
这里推荐一款软件axel,支持多线程下载,速度比wget要快很多 。
1 | yum install axel |
使用方法
1 | axel -n 5 http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2 |
解包并安装
1 | tar -jxvf Python-2.7.3.tar.bz2 |
创建软链
替换原有/usr/bin/python
先备份下原油 /usr/bin/python
1 | cp /usr/bin/python /usr/bin/python.bak |
替换
1 | ln -s /usr/local/python2.7/bin/python /usr/bin/python |
看下默认python是否已经替换成功
1 | python --version |
一些问题
yum使用python版本
首先,针对centos,使用的是yum,而yum是用较低版本的python写的,不支持2.7以及以上的版本,所以修改yum所用的python。(老版本的python还在服务器上,只不过修改了默认的python版本为2.7)。
1 | vim /usr/bin/yum |
将头部修改为#!/usr/bin/python2.6
在你替换的时候,/usr/bin目录下一直存在python2.6这个文件。
pip使用python版本
除了yum,pip可能也有受到影响,通过yum install python-pip安装,可以看下安装过程中的信息,看看pip被安装到了2.6还是2.7的库里。