centOS(7.7.64)安装python3.7.2
centos7自带版本是python2.7
-
先查看系统python的位置
whereis python
-
python2.7默认安装是在 /usr/bin目录中
cd /usr/bin #切换到/usr/bin ll python* #查看python文件及其软连接
-
从下图中我们可以看到:
python指向python2,python2指向python2.7
我们要删除python->python2的软连接,所以执行以下指令删除python文件,软连接就自动消失了
rm -rf /usr/bin/python #删除 python -> python2.7
-
下载python3的包之前,要先安装相关的依赖包,用于下载编译python3:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel yum install tk-devel gcc make gcc kernel-devel kenel-headers make bzip2
-
默认的 centos 是没有安装pip,先添加epel扩展源
yum -y install epel-release
-
安装pip
yum install python-pip
-
用pip装wget
pip install wget
-
wget下载python3的源码包,或者自己先下载好,上传到服务器再安装,如果网络快选择wget直接安装
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz # 记得修改版本号
-
编译 python3 源码包
xz -d Python-3.6.8.tar.xz
-
解压
tar -xf Python-3.6.8.tar
-
进入解压后的目录,依次执行下面命令进行手动编译
cd Python-3.6.8 #进入解压python目录 ./configure prefix=/usr/local/python3 #指定安装目录为/usr/local make make install
-
建立python到python3.7的软连接和python3到python3.7的软连接,那么两个版本的python就能共存了。
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python #python -> /usr/local/python3/bin/python3.7 ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3 #python3 -> /usr/local/python3/bin/python3.7
-
查看安装情况
python -V #查看python版本 python2 -V #查看python2版本 python3 -V #查看python3版本
-
更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用
vim /usr/bin/yum
把第一行的 #! /usr/bin/python 修改为如下
#! /usr/bin/python2
-
还要修改一处配置
vim /usr/libexec/urlgrabber-ext-down
把第一行的 #! /usr/bin/python 修改为如下
#! /usr/bin/python2