centos7 升级 python 2.7.5 到 python3.6

从官网下载python3的压缩包,解压(以3.6.1版本为例)

创建安装目录(自定义)
sudo mkdir /usr/local/python3

cd 进入解压目录,然后
sudo ./configure –prefix=/usr/local/python3
sudo make
sudo make install

cd 进入/usr/bin
其中有python、python2、python2.7三个文件依次指向后者。
image.png

备份当前默认版本python,如果有需要还可还原:
sudo mv python python.bak

创建python3.6l的新链接(也可建立python3命令以区分,同mac)
sudo ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
这样默认的python版本就替换为python3.6了。

image.png

由于yum使用python2,替换为python3后无法正常工作,
因此修改yum配置文件:
sudo vi /usr/bin/yum
将第一行指定的python版本改为python2.7:
*#!/usr/bin/python改为 #!/usr/bin/python2.7

修改urlgrabber配置文件(网上很多教程都漏了这一步)
sudo vi /usr/libexec/urlgrabber-ext-down
同yum,把头部的python改成python2.7

vim /usr/sbin/firewalld

vim /usr/bin/firewall-cmd

同yum,把头部的python改成python2.7

修改python之后firewall脚本里也都得改