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