1、查看一下本机python
[root@root ~]# whereis python
python: /usr/bin/python2.7
/usr/bin/python
/usr/lib/python2.7
/usr/lib64/python2.7
/etc/python
/usr/include/python2.7
/usr/share/man/man1/python.1.gz
[root@root ~]# cd /usr/bin/
[root@root bin]# ll python*
lrwxrwxrwx. 1 root root 7 2月 7 09:30 python -> python2
lrwxrwxrwx. 1 root root 9 2月 7 09:30 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 8月 4 2017 python2.7
可以看到,python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后将python指向python3,然后python2指向python2.7,那么两个版本的python就能共存了。
2、安装依赖
因为我们要安装python3,所以要先安装相关包,用于下载编译python3
[root@root ~]# yum install zlib-devel bzip2-devel openssl-devel \
ncurses-devel sqlite-devel readline-devel tk-devel gcc make
运行了以上命令以后,就安装了编译python3所用到的相关依赖
3、yum添加国内镜像和pip工具
[root@root ~]# yum -y install epel-release
[root@root ~]# yum install python-pip
默认centos7没有安装pip,不知道是不是因为我安装软件的时候选择的是最小安装的模式的原因。
4、查看python版本
[root@node1 ~]# python -V
Python 2.7.5
5、安装GCC与wget
[root@node1 ~]# yum install gcc gcc-c++
[root@node1 ~]# yum install wget
//也可以使用pip安装wget
[root@node1 ~]# pip install wget
6、安装xz工具
[root@node1 ~]# wget http://down1.chinaunix.net/distfiles/xz-5.0.3.tar.bz2
[root@node1 ~]# tar -xjvf xz-5.0.3.tar.bz2
[root@node1 ~]# cd xz-5.0.3
[root@node1 xz-5.0.3]#./configure
[root@node1 xz-5.0.3]# make
[root@node1 xz-5.0.3]# make install
7、下载解压Python安装包
[root@node1 ~]# wget https://www.python.org/ftp/python/3.6.5/Python-3.7.tar.xz
[root@node1 ~]# xz -d Python-3.7.tar.xz
[root@node1 ~]# tar -xvf Python-3.7.tar
尖叫提示:“tar -xJvf Python-3.6.5.tar.xz -C /opt/module/”也可以解压
8、编译安装Python
[root@node1 ~]# cd Python-3.7
[root@node1 Python-3.6.5]# ./configure
//或者
[root@node1 Python-3.6.5]# ./configure prefix=/usr/local/python3
[root@node1 Python-3.6.5]# make && make install
9、添加软连接
将系统指向的python从2.7.5修改到3.7版本
[root@node1 ~]# /usr/local/bin/python3.7 -V
[root@node1 ~]# mv /usr/bin/python /usr/bin/python.bak
[root@node1 ~]# ln -s /usr/local/bin/python3 /usr/bin/python
10、将yum对python的引用重新指向python2.7.5(即:yum使用2.7.5,系统用3.7)
[root@node1 ~]# vim /usr/bin/yum
!/usr/bin/python2
更改yum配置,因为yum要用到python2才能执行,否则会导致yum不能正常使用
[root@node1 ~]# vi /usr/bin/yum
把#! /usr/bin/python修改为#! /usr/bin/python2
[root@node1 ~]# vi /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改为#! /usr/bin/python2
11、检查python版本,检查yum是否可用
[root@node1 ~]# python -V
[root@node1 ~]# yum list