前言

博主用的阿里云服务器的CentOS 7,自带的python版本是python-2.7.5,需要再安装一个 python-3.8.1

所以如何在需要在不删除python-2.7.5的情况下,在安装一个python3.8.1版本的,

1
python -V

安装Python3.8.1

进入Python官网进行下载合适的python,Python官网下载地址

1
2
3
4
5
6
7
8
9
10
# 解压
tar -zxf Python-3.8.1.tgz
# 安装依赖包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc libffi-devel
# 进入python目录
cd Python-3.8.1
# 编译
./configure --prefix=/usr/local/python3
# 安装
make && make install

将系统默认的python备份

我这里之前自带的就是python2.7.5版本,为了避免文件重名,所以我直接将名字改成了python2.7.5

1
mv /usr/bin/python /usr/bin/python2.7.5

创建新的软连接

软连接就相当于Windows下新建的快捷方式,方便在Linux下不需要先找到文件,就能直接使用命令

快捷方式:Windows提供的一种快速启动程序、打开文件或文件夹的方法。它是应用程序的快速连接

1
2
3
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python

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

输入上面的两个命令,使用pythonpython3命令 都是指定的 python3.8

我在使用上面命令的时候,直接复制使用时,出现了点格式问题:

ln: invalid option — ‘’
Try ‘ln —help’ for more information.

我直接手动敲一遍上面软连接的命令,然后成功的

查看python版本,安装成功,都显示:Python 3.8.1

1
2
3
python -V

python3 -V

修改yum配置

升级python3.8以后,yum命令会不能运行了,所以需要修改下yum的对应的头

yumurlgrabber-ext-down两个文件内的的 #!/usr/bin/python 改为 #!/usr/bin/python2.7

1
vi /usr/bin/yum
1
vi /usr/libexec/urlgrabber-ext-down

配置pip3

安装完 python3.8.1 后使用 pip install 下载的插件都会自动下载到 python2.7 带的 pip 包里,

这是因为pip的软连接是python2.7的,所以在这里先将之前python2.7版本的的pip修改成python3.8版本的

备份python2.7版本的软连接

1
mv /usr/bin/pip /usr/bin/pip2.7.5

配置pip3的软连接 ,pip3在python安装路径的bin目录下

1
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
1
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

查看pip版本

1
2
3
pip -V

pip3 -V

关于yum的删除及重新安装

删除yum

1
rpm -qa | grep yum | xargs rpm -e --nodeps

查看Linux系统版本

1
cat /etc/redhat-release

查看Linux内核版本

1
file /bin/ls

安装yum

接下来就需要下载安装了,具体地址下载路径:163mirrors

依次执行3个命令,我的是centos7.8,所以去网站地址找的指定下载

1
rpm -ivh --nodeps http://mirrors.163.com/centos/7.8.2003/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
1
rpm -ivh --nodeps http://mirrors.163.com/centos/7.8.2003/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-53.el7.noarch.rpm
1
rpm -ivh --nodeps http://mirrors.163.com/centos/7.8.2003/os/x86_64/Packages/yum-3.4.3-167.el7.centos.noarch.rpm

如果linux安装了python 3.X版本,就需要改一下yum文件中的配置,具体见该篇文章【修改yum配置】这部分。