背景说明:在安装varnish6.2.0版本的时候,提示Python版本不能低于3.4,所以需要将Centos7.5系统自带的Python2.7升级到Python3.7.4版本
1、下载Python3.7.4
链接:https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
因为下载是在国外网址下载,所以网速比较慢,耐心等待(使用迅雷下载会快很多哦!)
2、上传Python3.7.4的源码包到服务器
[root@xuegod110 ~]# ls
Python-3.7.4.tgz
安装Python依赖包
[root@xuegod110 ~]# yum install gcc gcc-c++ -y
3、解压缩安装
[root@xuegod110 ~]# tar xf Python-3.7.4.tgz
[root@xuegod110 ~]# cd Python-3.7.4/
[root@xuegod110 Python-3.7.4]# ./configure
[root@xuegod110 Python-3.7.4]# make && make install
4、查看版本
[root@xuegod110 Python-3.7.4]# python -V
Python 2.7.5
[root@xuegod110 Python-3.7.4]# python3 -V
Python 3.7.4
5、查看原Python的路径
[root@xuegod110 Python-3.7.4]# ls -al /usr/bin | grep python
lrwxrwxrwx. 1 root root 7 Jun 6 10:59 python -> python2
lrwxrwxrwx. 1 root root 9 Jun 6 10:59 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 Apr 11 2018 python2.7
-rwxr-xr-x. 2 root root 11384 Jun 24 21:23 python3.4
-rwxr-xr-x. 2 root root 11384 Jun 24 21:23 python3.4m
#可以看到执行python命令,链接到python2.7,我们只需要修改软链接即可
6、修改Python3.7为默认版本
[root@xuegod110 Python-3.7.4]# mv /usr/bin/python /usr/bin/python.2.7
[root@xuegod110 Python-3.7.4]# ln -s /usr/local/bin/python3 /usr/bin/python
[root@xuegod110 Python-3.7.4]# python -V
Python 3.7.4
7、注意事项
因为yum命令默认指向是Python2,升级Python后,yum命令无法使用,错误如下:
[root@xuegod110 ~]# yum list
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
修改/usr/bin/yum和/usr/libexec/urlgrabber-ext-down,将 #!/usr/bin/python 改为 #!/usr/bin/python2.7保存退出即可
修改完毕即可正常使用yum命令
8、编译过程错误记录
(1)zipimport.ZipImportError: can't decompress data; zlib not available
解决方法:安装zlib相关工具包
yum -y install zlib*
(2)ModuleNotFoundError: No module named '_ctypes'
解决方法:安装libffi-devel
yum -y install libffi-devel
9、参考资料
https://blog.youkuaiyun.com/weixin_41890247/article/details/89520874