Centos6.x升级到Python3

Centos 6.8上自带的python是2.6.6,这和我想要的新版python差别太多,毕竟现在python现在已经更新到3.5,不同版本之间差别还是很多的。本来想使用yum在线更新python,谁知道yum竟然告诉我:没有可以更新的包。那只能手动用源码包更新了。由于linux上很多的软件都是依赖python的,所以旧版的python千万不能卸载掉,例如yum就是依赖python的。只能安装一个新版本的python,让两者共存,然后在实际使用过程中再使用新版本的python。

查看系统python版本

[root@myserver01 Python-3.5.2]# python -V
Python 2.6.6

1.安装之前的准备工作:
先查询以下有没有安装以下模块:

rpm -q openssl-devel
rpm -q gcc  

如果有未安装则请往下看,如果以上两个都安装了,请跳到第3条。
安装3.5版的python,肯定顺带安装上pip啦!之前我是直接下载源码包安装,然后再单独安装pip,最后各种报错,无法使用,于是我又重新删除,并且重新下载了一遍,因为在安装之前需要安装以下环境:

2.安装编译环境

安装gcc
yum -y install gcc(编译源码包的时候用到)
然后安装openssl-devel(安装pip的时候用到)
yum -y install openssl-device  

3.开始编译Python3:

[root@myserver01 myfiles]# wget https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tgz
--由于python的服务器位于国外,所以下载可能有点慢,请耐心等待...

...
[root@myserver01 myfiles]# tar -zxvf Python-3.5.3.tgz
...
[root@myserver01 myfiles]# cd Python-3.5.3
...
[root@myserver01 Python-3.5.3]# mkdir /usr/local/python3/     --创建新的python目录,防止覆盖老的python
...
[root@myserver01 Python-3.5.3]# ./configure --prefix=/usr/local/python3/
...
[root@myserver01 Python-3.5.3]# make && make install
...
[root@myserver01 Python-3.5.3]# rm /usr/bin/python       --提示后按y删除即可
...
[root@myserver01 Python-3.5.3]# ln -s /usr/local/python3/bin/python3 /usr/bin/python
...
[root@myserver01 Python-3.5.3]# ln -s /usr/bin/python /usr/bin/python3      --创建一个python3的命令

同时为了pip可以方便的安装python模块,也要把pip创建软连接到/usr/bin中:

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

好了,以上就完成了所有的安装,可以顺便更新一下pip:

pip install --upgrade pip

4.由于yum是依赖于老版本的Python,所以安装了新版之后,yum就无法使用了,解决方法:

vim /usr/bin/yum
进入到yum中修改yum的注释,将 #!/usr/bin/python
修改为#!/usr/bin/python2.6
OK保存退出。
完成!