centos6系列默认Python版本为2.6.6
centos7系列默认Python版本为2.7
很多应用有Python2.7的依赖性要求,需要Python版本升级。
下载地址如下:
解压前需要安装的开发包及系统依赖包
yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel -y
下载解压
wget --no-check-certificate https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz
tar xf Python-2.7.9.tar.xz
cd Python-2.7.9
编译与安装
./configure --prefix=/usr/local
注意编译时的报错,一般是缺少系统依赖包
make && make install
将python命令指向Python 2.7.9
覆盖原来的Python版本
ln -s /usr/local/bin/python2.7 /usr/local/bin/python
检查Python版本
python -V
Python 2.7.9
显示2.7.9则表示版本升级完成
有一个经常性问题,升级Python后yum用不了,因为yum是不兼容 Python 2.7的。
解决办法如下:
修改yum文件 vi /usr/bin/yum
将文件头部的
#!/usr/bin/python
改为如下内容
#!/usr/bin/python2.6
将yum的头文件指向系统原来的python
有一个更直接的办法避免这个问题出现:
做软连接覆盖原来的Python版本时,只覆盖/usr/local/bin,不覆盖/usr/bin/路径下的Python
只链接 ln -s /usr/local/bin/python2.7 /usr/local/bin/python
不要做 ln -s /usr/local/bin/python2.7 /usr/bin/python
这样既可以完成升级,也可以不改变yum的Python指向路径,使yum正常使用。
还有需要特别注意的点:
在删除取消软连接时,注意不要目录后面的“/”
rm -rf /usr/local/bin/python 不是rm -rf /usr/local/bin/python/
这样就可以删除新的Python版本链接。