Centos7安装python3并与python2共存 - jerry

Welcome to Aiiyx !

Centos7安装python3并与python2共存

写在前面:建议python和pip设为一致,并且均设为python3,pip3,最好不要更改原系统默认的python->python2,pip->pip2

1.查看是否已经安装Python

CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5。

使用 python -V 命令查看一下是否安装Python,然后使用命令 which python 查看一下Python可执行文件的位置

切换到/usr/bin/ 目录下,执行 ll python* 命令查看:

python 指向的是python2.7,因为我们要安装python3版本,所以python要指向python3才行(注意这是非必须的,不建议这样做,建议python3->python3,虽然这里是python->python3,但是后续会有很多不必要的麻烦),目前还没有安装python3,

先备份,备份之前先安装相关包,用于下载编译python3

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
不能忽略相关包,我之前就没有安装readline-devel导致执行python模式无法使用键盘的上下左右键;

然后备份:mv python python.bak

2、检查安装基础命令:

查看是否有wget命令,如图就是有wget命令:

如果没有安装命令,就先安装wget:

yum -y install wget

3.开始编译安装python3

回到家目录,去官网下载编译安装包或者直接执行以下命令下载, 默认会下载到当前目录下

wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz

解压:tar -xvJf  Python-3.7.2.tar.xz

切换进入:cd Python-3.7.2

./configure --prefix=/usr/local/python3 --enable-optimizations
#第一个指定安装的路径,不指定的话,安装过程中可能软件所需要的文件复制到其他不同目录,删除软件很不方便,复制软件也不方便.
#第二个可以提高python10%-20%代码运行速度,可选可不选,我没有选

编译安装 :

make && make install

安装完毕,/usr/local/目录下就会自动有python3了,因此可以添加软链到执行目录下/usr/bin

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

(注意本人建议python3->python3,而不是python->python3,尽管这里是做了 python->python3 ,但不推荐这样的做法!!)

可以看到软链创建完成,测试安装成功了没,

执行python -V  看看输出的是不是python3的版本

执行python2 -V  看到的就是python2的版本

因为执行yum需要python2版本,所以我们还要修改yum的配置,执行:

vi /usr/bin/yum

把#! /usr/bin/python修改为#! /usr/bin/python2

同理 vi /usr/libexec/urlgrabber-ext-down 文件里面的#! /usr/bin/python 也要修改为#! /usr/bin/python2

到这里虽然已经安装成功但是还不能直接使用python3.6.5,我们还需要再设置下pip的版本软链接,最好配套:

这样python3版本就安装完成;同时python2也存在

python -V   版本3 

pip3 -V 版本3

python2 -V 版本2

pip -V 版本2

注意:写给自己

本人起初所用的python环境基本处于python3.6.5,所以,python->python2软链接做了备份,新建软链接python->python3,所以直接敲python -V显示3版本,同时由于复杂的原因,我的pip3->pip3,而pip->pip2并未改变,后续,本人更正,使python3与pip3配套使用,默认的python和pip均还是py2