CentOS下将Python的版本升级为3.x

时间:2023-03-09 08:33:53
CentOS下将Python的版本升级为3.x

本文主要介绍在Linux(CentOS)下将Python的版本升级为3.x的方法

众所周知,在2020年python官方将不再支持2.7版本的python,所以使用3.x版本的python是必要的,但是linux中默认安装的python一般是2.6和2.7版本的,要是使用linux下的python就很有必要升级一下

进入正题

1.检查确认系统的相关信息

[root@zstest1 ~]# cat /etc/redhat-release

CentOS release 6.5 (Final)

[root@zstest1 ~]# uname -a

Linux zstest1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

[root@zstest1 ~]# python -V

Python 2.6.6

当前的python版本号为2.6.6

2.下载安装Python-3.7.0

1) 下载Python-3.7.0.tgz软件包

[root@zstest1 ~]# mkdir -p /server/tools/

[root@zstest1 tools]# cd /server/tools/

[root@zstest1 tools]# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

也可以手动下载再上传到服务器:https://www.python.org/ftp/python/

2) 解压编译安装

[root@zstest1 tools]# tar -xf Python-3.7.0.tgz

[root@zstest1 tools]# cd Python-3.7.0

[root@zstest1 Python-3.7.0]# ./configure

[root@zstest1 Python-3.7.0]# make

[root@zstest1 Python-3.7.0]# make install

# 如果编译出错,需要检查make,gcc等是否安装好

yum install make gcc gcc-c++

3) 安装完成,需要更改默认的python版本

# 检查当前默认的python2,默认自带的python位置在”/usr/bin/“目录下

[root@zstest1 Python-3.7.0]# 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@zstest1 Python-3.7.0]# ll /usr/local/bin/python*

lrwxrwxrwx 1 root root       9 10月 31 16:48 /usr/local/bin/python3 -> python3.7

-rwxr-xr-x 2 root root 9630001 10月 31 16:48 /usr/local/bin/python3.7

lrwxrwxrwx 1 root root      17 10月 31 16:48 /usr/local/bin/python3.7-config -> python3.7m-config

-rwxr-xr-x 2 root root 9630001 10月 31 16:48 /usr/local/bin/python3.7m

-rwxr-xr-x 1 root root    3066 10月 31 16:48 /usr/local/bin/python3.7m-config

lrwxrwxrwx 1 root root      16 10月 31 16:48 /usr/local/bin/python3-config -> python3.7-config

# 修改默认的python

# 删除旧的python的软连接,创建新的python2和python3的软连接

[root@zstest1 Python-3.7.0]# cd /usr/bin/

[root@zstest1 bin]# rm -f python2

[root@zstest1 bin]# mv python python2.6.ori

[root@zstest1 bin]# ln -s python2.6 python2

[root@zstest1 bin]# ln -s /usr/local/bin/python3 /usr/bin/python

4) 检查修改后的python版本

[root@zstest1 bin]# python -V

Python 3.7.0

[root@zstest1 bin]# python2 -V

Python 2.6.6

[root@zstest1 bin]# python3 -V

Python 3.7.0

# 可以看到,默认打开的python版本已经是3.7.0,至此python的版本已经升级成功

3.后续的软件问题处理

# python的默认版本修改为3.x之后,系统对于yum的调用会出问题,所以需要修改下yum的相关配置

[root@zstest1 bin]# vim /usr/bin/yum

# 需要检查确认以下配置

#!/usr/bin/python2

# 这样,修改后的yum依然可以调用python2.6.6的python,在使用yum安装软件时就不会报错了

# 以上是在CentOS6.5系统上进行的python版本升级,CentOS7.2上面的默认python版本为2.7.5,可以使用相同的方法进行修改,不过CentOS7.2的python链接稍有不同,需要注意

[root@centos72 ~]# ll /usr/bin/python*

lrwxrwxrwx. 1 root root    7 10月 26 2016 /usr/bin/python -> python2

lrwxrwxrwx. 1 root root    9 10月 26 2016 /usr/bin/python2 -> python2.7

-rwxr-xr-x. 1 root root 7136 11月 20 2015 /usr/bin/python2.7

# 另外就是,CentOS7.2还有另外一个文件需要修改

[root@centos72 ~]# vim /usr/libexec/urlgrabber-ext-down

# 检查确认以下配置:

#!/usr/bin/python2