CentOS升级Python3

发布时间 2023-03-23 17:08:05作者: Austines
title: CentOS升级Python3
date: 2022-11-17
tags:
  - Linux
  - CentOS
  - Python
categories: 
- 运维
- Python
keywords: 'Linux,CentOS,升级'
cover: https://qiufuqi.gitee.io/img/hexo/20221117161321.png
abbrlink: python_upgrate
comments: false

在linux中有自带的python,但是python的版本是2.7,但是我们需要用到的是python3.x,所以就不得不升级python2.7为python3.x
共计2种方法,推荐使用第二种

方法一

查看python的版本

 python --version  或者  # python -V

下载新版本

下载最新版本python并解压缩
官网下载版本

wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz
tar -zxvf Python-3.7.7.tgz
cd Python-3.7.7/

开始安装

如果没有升级过Python就需要安装Python相关的依赖包

yum update -y
yum install -y make gcc gcc-c++

安装完依赖包后开始安装python3

./configure
make && make install

版本更换

在/usr/local/bin/下有一个python3的链接,指向bin目录下的python3.7

python --version
Python 2.7.16

查看python的路径,在/usr/bin下面,可以看到python的链接是python2.7,所以执行python就相当于是执行python2.6
设置3.x为默认版本:

 ls -la /usr/bin | grep python
 mv /usr/bin/python /usr/bin/python.bak

进入解压的目录当中,有一个python的可执行文件或者使用命令查询

find / -name python
/root/Python-3.3.0/python

# 若是输出为3.x,就说明是python3
ln -s /home/ec2-user/Python-3.7.7/python /usr/bin/python
python --version

配置yum

升级Python版本之后将由默认的python指向了python3,yum不能正常使用,需要更改yum的配置文件

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

修改文件内容如下:

#!/usr/bin/python ==> #!/usr/bin/python2.7

安装pip
下载pip,官网地址

[root@localhost ~]# pip3 install --upgrade pip

方法二

yum安装

[root@slave-node ~]# yum -y install python3
[root@slave-node ~]# cd /usr/bin/
[root@slave-node bin]# ll|grep python
lrwxrwxrwx. 1 root root         9 Oct 19 15:32 python2 -> python2.7
-rwxr-xr-x. 1 root root      7216 Oct 31  2018 python2.7
lrwxrwxrwx. 1 root root         7 Oct 19 15:32 python2.bak -> python2
lrwxrwxrwx  1 root root         9 Nov 17 16:04 python3 -> python3.6
-rwxr-xr-x  2 root root     11328 Nov 17  2020 python3.6
-rwxr-xr-x  2 root root     11328 Nov 17  2020 python3.6m
[root@slave-node bin]# mv python python2.bak
[root@slave-node bin]# ln -sf python3.6 python

# 只用执行一次,防止yum不可用
[root@slave-node bin]# sed -i 's?#!/usr/bin/python?&2?' /usr/bin/yum