1、确认当前系统的python版本
python -V或python --version
2、安装编译环境包
[root@bogon ~]# yum install gcc-c++ gcc make cmake zlib-devel bzip2-devel openssl-devel ncurse-devel libffi-devel -y
3、下载最新版本的python包
- 1)服务器如果可以直接上外网,就直接wget;
- 2)服务器如果无法上互联玩,可以现在python官网下载下来上传至服务器中,官网连接:https://www.python.org/downloads/;
[root@bogon ~]# wget https://www.python.org/ftp/python/3.10.5/Python-3.10.5.tar.xz
4、解压、创建安装目录并配置安装python3
[root@bogon local]# tar -Jxvf Python-3.10.5.tar.xz
[root@bogon local]# mkdir -p /usr/local/python3
[root@bogon Python-3.10.5]# cd /root/Python-3.10.5
[root@bogon Python-3.10.5]# ./configure --prefix=/usr/local/python3/ --enable-optimizations
5、编译及编译安装
#make && make install
- 此过程一定要耐性等待,差不多得十几分钟左右;
- 上图中在make编译过程中出现相关报错,原因是在低版本的gcc中带有–enable-optimizations参数。解决办法为:1)、升级gcc至高版本,gcc 8.1.0已修复此问题(不推荐);2)、./configure参数中去掉–enable-optimizations。
- 此时先执行make clean,然后重新执行./configure --prefix=/usr/local/python3/,在执行make && make install即可,执行结果如下图:
6、备份原系统中的低版本python
mv /usr/bin/python /usr/bin/python.bak
mkdir /usr/bin/pip
mv /usr/bin/pip /usr/bin/pip.bak
7、配置环境变量
- 创建新版本python和pip的软连接
ln -s /usr/local/python3/bin/python3.10 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
8、验证当前python版本
python -V
- 由上图可见,系统中的python版本已经由2.7.5变为3.10.5了,说明已经升级成功;
9、修改yum功能
- 因为yum是基于python2.7开发的,所以yum的功能依赖于Pyhon2,现在更改默认Python版本后会导致yum无法正常使用,因而要进行以下四处修复。
9.1 vi /usr/bin/yum
- 把最顶部改成#!/usr/bin/python2.7
9.2 vi /usr/libexec/urlgrabber-ext-down
- 把最顶部改成/usr/bin/python2.7
9.3 vi /usr/bin/firewall-cmd
9.4 vi /usr/sbin/firewalld
- 把最顶部改成/usr/bin/python2.7
10、测试yum是否可用
至此,系统的python版本已经升级到最新版的3.10.5了。