linux Centos7.6 安装 Python3 Pip3并与 yum 共存

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

1.检查环节

使用 python -V 命令查看一下是否安装Python

[root@localhost ~]# python -V
Python 2.7.5

然后使用命令 which python 查看一下Python可执行文件的位置:

[root@localhost ~]# which python
/usr/bin/python

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

[root@localhost ~]# cd /usr/bin/
[root@localhost bin]# ll python*
lrwxrwxrwx. 1 root root    7 Dec  7 19:07 python -> python2
lrwxrwxrwx. 1 root root    9 Dec  7 19:07 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 Oct 31 07:46 python2.7
[root@localhost bin]# 

python 指向的是python2.7

2.Python 3 依赖包

因为我们要安装python3版本,所以python要指向python3才行,目前还没有安装python3,先备份,备份之前先安装相关包。

$ yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

yum -y install libffi-devel  //PY3.7版本后需要

用于下载编译python3,不能忽略相关包,然后备份:

$ mv /usr/bin/python /usr/bin/python.bak.2019.07.16

3. 用Yum装wget

$ yum install wget -y

4. 用 wget 下载python 3.7 的源码包,并进行相关的编译、安装

$ wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz    //下载

$ tar -zxvf Python-3.7.4.tgz       //解压

$ mkdir -p /usr/local/python3	//创建目录
$ ./configure --prefix=/usr/local/python3    //安装到/usr/local/python3目录

$ make	//单独一步

$ make altinstall		//此处不能用install安装,因为install不区分版本,会出现多版本混乱的问题

如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录

5.添加Python软链接

$ ln -s /usr/local/python3/bin/python3.7 /usr/bin/python  //添加python的软链接
$ ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3  //添加python3的软链接

查看是否添加成功:

[root@i-rhy6qtkv bin]# ll python*
lrwxrwxrwx 1 root root   32 Jul 12 15:30 python -> /usr/local/python3/bin/python3.7
lrwxrwxrwx 1 root root    9 Jul 12 15:08 python2 -> python2.7
-rwxr-xr-x 1 root root 7216 Jun 21 04:28 python2.7
lrwxrwxrwx 1 root root   32 Jul 12 15:30 python3 -> /usr/local/python3/bin/python3.7
lrwxrwxrwx 1 root root    7 Jul 12 15:08 python.backup -> python2

[root@localhost bin]# python -V  //测试是否安装成功了
Python 3.7.4

6. 安装 Python 中的 Pip

默认的,centos7也没有安装pip,因此我们需要安装 pip:

$ yum -y install epel-release  //运行这个命令添加epel扩展源

$ yum -y install python-pip 	//安装 pip

通过这种方式貌似只能安装 pip2,想要安装 Python 3 的 pip,可以通过以下的源代码安装方式。

$ wget --no-check-certificate https://github.com/pypa/pip/archive/9.0.1.tar.gz

$ tar -zvxf 9.0.1 -C pip-9.0.1    # 解压文件

$ cd pip-9.0.1

# 使用 Python 3 安装
$ python3 setup.py install

创建pip的软连接:
$ ln -s /usr/local/python3/bin/pip /usr/bin/pip3

如有需要,可升级:

$ pip install --upgrade pip

7. 更改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

8. 更改firewall-cmd 配置

由于 Centos 7 自带的 firewall-cmd 会用到python2才能执行,否则会导致firewall-cmd 不能正常使用,因此我们需要更改下 firewall-cmd 的配置:

vi /usr/bin/firewall-cmd
把#! /usr/bin/python修改为#! /usr/bin/python2.7

vi /usr/sbin/firewalld
把#! /usr/bin/python修改为#! /usr/bin/python2.7

最后,最后,请注意保存!请注意保存!请注意保存!

转载于:https://my.oschina.net/zxzzhou/blog/3071836

你可能感兴趣的:(linux Centos7.6 安装 Python3 Pip3并与 yum 共存)