centos6.5系统自带了2.6.6版本的python,有时候为了项目上的需要,需要将python版本升级到2.7.13,下面介绍了如何进行升级。
说明:python从2.6升级到2.7会引发很多问题,很多依赖python2.6的软件不能运行,需要一个个的修改配置文件(比如本文提到的yum问题),感觉升级2.7像是埋了一个雷,没准哪天用到什么软件发现不能运行。个人感觉,除非有特别的必要,要不然还是别升级了。
1,从官网下载最新版本的python
https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
2,放在任意目录,比如/root下,解压
3,安装readline和readline-devel,如果不安装的话,升级之后的2.7版本python在命令行按删除,上下左右移动的时候是特殊字符,用起来很不方便。
yum install -y readline readline-devel
4,更改setup文件
vim /root/Python-2.7.13/Modules/Setup
将166行
readline readline.c -lreadline -ltermcap
前面的#号去掉,保存退出。
5,编译python2.7
在/root/Python-2.7.13/目录下运行
./configure --prefix=/usr/local/python2.7
6,安装
编译通过以后,执行
make && make install
8,后续工作
此时执行python --version看版本还是2.6.6,进行如下操作
将2.6.6版本python备份:
mv /usr/bin/python /usr/bin/python-old
将2.7.13版本python连接到这个目录下
ln -s /usr/local/python2.7/bin/python /usr/bin
此时再执行python --version即可看到已经是最新版的python了。
9,yum处理,这么操作以后,yum就不能用了,因为yum用的还是老版本的python,可以通过下面的方式解决。
vim /usr/bin/yum
将第一行的python位置改成2.6.6版本python位置
即将
#!/usr/bin/python
改为
#!/usr/bin/python-old
此时再测试,yum也正常了。
10,至此,python2.7升级完成。