截止目前,centos6系列的最新版本是centos6.9,内置的python版本依然是2.6.6,出于api和abi的稳定性考虑,redhat是不会自己升级python版本的,但是,很多时候我们非常需要使用较新的版本,由于python是系统默认集成的,即使是最小化安装的系统,默认已经自带了python,如果自己安装不当,很可能对系统造成破坏。本文主要就是在centos6.9上面安装Python2.7.15版本进行说明,如果你要安装Python3.x系列,理论上应该是一样的。

首先是环境准备:

注意,前面几个包都是Python编译安装需要的,有些组件,db4-devel可以选装。

下载python:

解压安装:

如果要在标准目录下安装,可以这样

配置可以这样配置:

如果你用更高版本的gcc,configure的时候可以加上优化选项

在centos6自带的低版本gcc(4.4.7)下,优化选项好多特性不支持,所以会报错。

最后的提示应该是类似这样的:

Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-9.0.3 setuptools-39.0.1

稍微解释下配置,–with-ensurepip=install是同步安装pip和easy_install,现在的python源码自带此功能,加个参数就能开启了。默认的安装路径是/usr/local, 这里也没有变更。最后不用make install是怕替换系统已有的组件,所以用make altinstall。我们的主程序是python2.7和pip2.7。

我们查看下版本:

python2.7 -V

输出结果:

Python 2.7.15

有时,我们不想用python2.7来执行,想直接用python命令执行新版本的python,我们可以做个软连接。

这里会把老的2.6的python执行程序替换掉,但不用担心,/usr/bin/python2.6这个程序其实是个硬连接文件,2.6的执行程序还在的。

因yum只能在python2.6下运行,我们把yum脚本改下环境:

把文件开始的#!/usr/bin/python改成#!/usr/bin/python2.6即可。

再把pip的软连接做下:

好了,大功告成,需要注意的是,我们已经把主执行程序改成了python2.7,除了yum需要改环境外,不排除其他的python脚本出问题,所以要不要对python2.7做软连接还是取决于你,但这个好处是如果我们想切换回来,系统原先的2.6的python其实都还在,可以随时恢复回去。

更好的建议是,我推荐安装scl的源安装python,这个原理有点像python中的虚拟环境,一点也不影响系统原先的组件,可以随时切换,大家可以看下我以前的这篇文章

centos6安装python2.7教程
Tagged on:     

发表评论

电子邮件地址不会被公开。 必填项已用*标注