在python2和3的变化很大,这里边我们将linux系统自带的python2.7升级至python3.5
- 检查确认系统的相关信息
[root@CDH2 ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@CDH2 ~]# uname -a
Linux CDH2 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@CDH2 ~]# python -V
Python 2.7.5
[root@CDH2 ~]#
我的进行软件升级系统是CentOS7.4-x86_64的,内核3.10.0,当前的python版本号为2.7.5
- 下载安装Python-3.5.2
- 下载Python-3.5.2.tgz软件包
[root@CDH2 ~]# mkdir -p /server/tools/ [root@CDH2 ~]# cd /server/tools/ [root@CDH2 tools]# wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
- 解压编译安装
[root@CDH2 tools]# tar -xf Python-3.5.2.tgz [root@CDH2 tools]# cd Python-3.5.2 [root@CDH2 Python-3.5.2]# ./configure [root@CDH2 Python-3.5.2]# make [root@CDH2 Python-3.5.2]# make install
如果编译出错,需要检查make,gcc等是否安装好
yum install make gcc gcc-c++
-
安装完成,需要更改默认的python版本
检查当前默认的python2[root@CDH2 tools]# ll /usr/bin/python* lrwxrwxrwx. 1 root root 7 Nov 30 15:12 /usr/bin/python -> python2 lrwxrwxrwx. 1 root root 9 Nov 30 15:12 /usr/bin/python2 -> python2.7 -rwxr-xr-x. 1 root root 7136 Aug 4 2017 /usr/bin/python2.7
检查新安装的python3
[root@CDH2 bin]# ll /usr/local/bin/python* lrwxrwxrwx. 1 root root 9 Feb 14 14:19 /usr/local/bin/python3 -> python3.5 -rwxr-xr-x. 2 root root 12287592 Feb 14 14:18 /usr/local/bin/python3.5 lrwxrwxrwx. 1 root root 17 Feb 14 14:19 /usr/local/bin/python3.5-config -> python3.5m-config -rwxr-xr-x. 2 root root 12287592 Feb 14 14:18 /usr/local/bin/python3.5m -rwxr-xr-x. 1 root root 3080 Feb 14 14:19 /usr/local/bin/python3.5m-config lrwxrwxrwx. 1 root root 16 Feb 14 14:19 /usr/local/bin/python3-config -> python3.5-config
修改默认的python,删除旧的python的软连接,创建新的python2和python3的软连接
[root@CDH2 Python-3.5.2]# cd /usr/bin/ [root@CDH2 bin]# rm -f python2 [root@CDH2 bin]# mv python python2.7.ori [root@CDH2 bin]# ln -s python2.7 python2 [root@CDH2 bin]# ln -s /usr/local/bin/python3 /usr/bin/python
-
检查修改后的python版本
[root@CDH2 bin]# python -V Python 3.5.2 [root@CDH2 bin]# python2 -V Python 2.7.5 [root@CDH2 bin]# python3 -V Python 3.5.2