linux 7下的python2升级python3
一、查看当前python版本
[root@ansible ~]# python -V
Python 2.7.5
二、下载新的python包并安装
进入python官网(https://www.python.org),选择需要的版本。此处我选择当前最新版本Python3.11.0
[root@bogon soft]# wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xz
[root@bogon soft]# tar xvf python-3.11.0.tar.xz
[root@bogon soft]# cd python-3.11.0/
[root@bogon python-3.11.0]# ./configure
[root@bogon python-3.11.0]# make
[root@bogon python-3.11.0]# make install
#编译和安装过程中,可能会出现依赖缺失,根据实际情况进行依赖安装。
三、验证
[root@bogon ~]# python -V
Python 2.7.5
[root@bogon ~]# /usr/local/bin/python -V
Python 3.11.0
四、设置python2和python3并存
因自带python2是很多其他软件的依赖软件,不能直接卸载,故需要进行相关设置,让python2和python3同时存在于服务器,并根据实际需要进行使用。
4.1 设置python3为默认python
#查看python2
[root@bogon ~]# ll /usr/bin/python*
lrwxrwxrwx. 1 root root 7 9月 8 11:37 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root 9 9月 8 11:37 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7144 10月 14 2020 /usr/bin/python2.7
#python3替换python2
[root@bogon ~]# ln -sf /usr/local/bin/python3 /usr/bin/python3
[root@bogon ~]# ln -sf /usr/bin/python -> /usr/bin/python3
#pip相关
[root@bogon ~]# ln -s /usr/local/bin/pip3 /usr/bin/pip3
[root@bogon ~]# ln -s /usr/bin/pip3 /usr/bin/pip
#验证
[root@ansible ~]# python -V
Python 3.11.0
4.2 命令修正
升级 Python 之后,由于将默认的 python 指向了 python3,导致yum等命令不能正常使用,需要对齐进行修正。常见的命令有以下几个,其他不常见的可以再遇到时进行修正。以yum命令为例:
/usr/bin/yum
/usr/sbin/firewalld
/usr/bin/firewall-cmd
/usr/libexec/urlgrabber-ext-down
#将#!/usr/bin/python替换为#!/usr/bin/python2.7即可
vim /usr/bin/yum