升级系统的python程序
作者:邓聪聪
1.检查确认系统的相关信息
[root@test ~]# Linux test_server 3.10.0-957.12.2.el7.x86_64 #1 SMP Tue May 14 21:24:32 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux [root@test ~]# python -V Python 2.7
2.下载安装Python-3.6.2
[root@test ~]# cd /usr/local/tools/ [root@test tools]# wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz [root@test tools]# ll total 22056 drwxr-xr-x 17 501 501 4096 Jun 20 20:31 Python-3.6.2 -rw-r--r-- 1 root root 22580749 Jul 17 2017 Python-3.6.2.tgz
1)编译并安装,下载编译必备的插件
[root@test tools]#yum install make gcc gcc-c++ [root@test tools]# cd Python-3.6.2 [root@test tools]# ./configure [root@test tools]# make -j 2 && make install [root@test tools]#echo $? 0 //为0表示成功
2) 安装完成,需要更改默认的python版本
# 检查当前默认的python2,默认自带的python位置在”/usr/bin/“目录下 [root@test Python-3.6.2]# ll /usr/bin/python* -rwxr-xr-x 2 root root 9032 11月 22 2013 /usr/bin/python lrwxrwxrwx. 1 root root 6 3月 20 2016 /usr/bin/python2 -> python -rwxr-xr-x 2 root root 9032 11月 22 2013 /usr/bin/python2.6 # 检查新安装的python3,默认编译安装的python位置在”/usr/local/bin/“目录下 [root@test Python-3.6.2]# ll /usr/local/bin/python* lrwxrwxrwx 1 root root 9 10月 31 16:48 /usr/local/bin/python3 -> python3.6 -rwxr-xr-x 2 root root 9630001 10月 31 16:48 /usr/local/bin/python3.6 lrwxrwxrwx 1 root root 17 10月 31 16:48 /usr/local/bin/python3.6-config -> python3.6m-config -rwxr-xr-x 2 root root 9630001 10月 31 16:48 /usr/local/bin/python3.6m -rwxr-xr-x 1 root root 3066 10月 31 16:48 /usr/local/bin/python3.6m-config lrwxrwxrwx 1 root root 16 10月 31 16:48 /usr/local/bin/python3-config -> python3.6-config #修改默认的python,删除旧的python的软连接,创建新的python2和python3的软连接 [root@test Python-3.6.2]# cd /usr/bin/ [root@test bin]# rm -f python2 [root@test bin]# mv python python2.7.ori [root@test bin]# ln -s python2.7 python2 [root@test bin]# ln -s /usr/local/bin/python3 /usr/bin/python #检查修改后的python版本 [root@test bin]# python -V Python 3.6.2 [root@test bin]# python2 -V Python 2.6.6
# 可以看到,默认打开的python版本已经是3.6.2,至此python的版本已经升级成功
3.后续的软件问题处理
# python的默认版本修改为3.x之后,系统对于yum的调用会出问题,所以需要修改下yum的相关配置,另外就是,CentOS7.*还有另外一个文件需要修
[root@test bin]# vim /usr/bin/yum #!/usr/bin/python2 //插入。这样,修改后的yum依然可以调用python2.7的python,在使用yum安装软件时就不会报错了 #Centos7的修改 [root@centos7 ~]# vim /usr/libexec/urlgrabber-ext-down #!/usr/bin/python2