
查看是否已经安装Python
# python -V //Python 2.7.5
查看一下Python可执行文件的位置
# which python /usr/bin/python
进入到 /usr/bin/ 目录下,切换到该目录下执行 ll python* 命令查看
# ll /usr/bin/python*

python 指向的是python2.7
安装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 openblas-devel blas-devel lapack-devel
用于下载编译python3,不能忽略相关包,然后备份:
# mv /usr/bin/python /usr/bin/python.bak.2020.03.06 //还原: # mv /usr/bin/python.bak.2020.03.06 /usr/bin/python
安装 Python 中的 pip
# yum -y install epel-release # yum -y install python-pip //安装pip 编译安装不需要此步
下载python 3.8+ 的源码包,并进行相关的编译、安装
源地址:https://www.python.org/downloads/source/
# mkdir -p /usr/local/python38 # cd /usr/local/python38 # wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz //下载 # xz -d Python-3.8.2.tar.xz # tar -xf Python-3.8.2.tar //解压 //进入解压后的目录,依次执行下面命令进行手动编译 # ./configure prefix=/usr/local/python38 # make && make install
如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python38目录
添加软链接
# mv /usr/bin/python /usr/bin/python.bak.2020.03.06 //备份 # ln -s /usr/local/python38/bin/python3.8 /usr/bin/python # ln -s /usr/local/python38/bin/python3.8 /usr/bin/python3 # ll /usr/bin/python* # python -V //Python 3.8.2 # ll /usr/bin/pip* # ln -s /usr/local/python38/bin/pip3 /usr/bin/pip3 # ll /usr/bin/pip* # pip3 install --upgrade pip //更新
更改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 //起始第一句
更改firewall-cmd 配置
//由于 Centos 7 自带的 firewall-cmd 会用到python2才能执行,否则会导致firewall-cmd 不能正常使用,因此我们需要更改下 firewall-cmd 的配置: vi /usr/bin/firewall-cmd 把#! /usr/bin/python修改为#! /usr/bin/python2 //起始第一句 vi /usr/sbin/firewalld 把#! /usr/bin/python修改为#! /usr/bin/python2 //起始第一句