Centos7.5 Python2.7升级到Python3.7.4--源码编译升级

背景说明:在安装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.csdn.net/weixin_41890247/article/details/89520874

你可能感兴趣的:(技术文档资料)