阿里云 centos 8 python 3.6 升级到python 3.10
一.环境
阿里云centos 8.5 默认自带了python 3.6版本,由于很多插件更新快,需要更高的版本,这里升级到python3.10.5最新稳定版本。
1)查看python3默认版本
[root@iZwz927xptl8kw8zqrmwvcZ ~]# python3 Python 3.6.8 (default, Sep 10 2021, 09:13:53) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)] on linux Type "help", "copyright", "credits" or "license" for more information.
2)查看python3命令目录
[root@iZwz927xptl8kw8zqrmwvcZ ~]# whereis python python: /usr/bin/python3.6 /usr/bin/python3.6m /usr/bin/python3.6-config /usr/bin/python3.6m-config /usr/bin/python3.6m-x86_64-config /usr/lib/python3.6 /usr/lib64/python3.6 /usr/local/lib/python3.6 /usr/include/python3.6m /usr/share/man/man1/python.1.gz
3查看pip3安装包命令目录
[root@iZwz927xptl8kw8zqrmwvcZ ~]# whereis pip3 pip3: /usr/bin/pip3 /usr/bin/pip3.6 /usr/share/man/man1/pip3.1.gz
4.查看pip3和python3的软链接指向地址
[root@iZwz927xptl8kw8zqrmwvcZ bin]# pwd /usr/bin [root@iZwz927xptl8kw8zqrmwvcZ bin]# file python3 python3: symbolic link to /etc/alternatives/python3 [root@iZwz927xptl8kw8zqrmwvcZ bin]# file pip3 pip3: symbolic link to /etc/alternatives/pip3
不能删除python3.6文件, 否则会导致yum不可用。
二.安装python3.10.5版本
查看所有python版本包:https://www.python.org/ftp/python/
1)下载最新包
cd tmp wget https://www.python.org/ftp/python/3.10.5/Python-3.10.5.tgz
2)解压
tar -zxvf Python-3.10.5.tgz

3)安装必需的依赖包,ndf也是yum的一种类型
dnf -y install gcc zlib* libffi-devel
4)进入解压目录,进行编译和安装(根据需要自定义目录,区分旧版本python3.6)
#在tmp文件目录下 #切换目录 cd python-3.10.5 #指定安装目录 ./configure --prefix=/usr/local/bin/python310 #make 编译,make install安装 make&&make install
安装后,查看所在目录和版本
[root@iZwz927xptl8kw8zqrmwvcZ bin]# cd /usr/local/bin/python310 [root@iZwz927xptl8kw8zqrmwvcZ python310]# ls bin include lib share [root@iZwz927xptl8kw8zqrmwvcZ python310]# cd bin [root@iZwz927xptl8kw8zqrmwvcZ bin]# ls 2to3 idle3 pip3 pydoc3 python3 python3.10-config 2to3-3.10 idle3.10 pip3.10 pydoc3.10 python3.10 python3-config [root@iZwz927xptl8kw8zqrmwvcZ bin]# ./python3.10 -V Python 3.10.5
5)移除旧的软连接
[root@iZwz927xptl8kw8zqrmwvcZ bin]# cd /usr/bin [root@iZwz927xptl8kw8zqrmwvcZ bin]# file python3 python3: symbolic link to /etc/alternatives/python3 [root@iZwz927xptl8kw8zqrmwvcZ bin]# rm python3 rm: remove symbolic link 'python3'? yes [root@iZwz927xptl8kw8zqrmwvcZ bin]# file pip3 pip3: symbolic link to /etc/alternatives/pip3 [root@iZwz927xptl8kw8zqrmwvcZ bin]# rm pip3 rm: remove symbolic link 'pip3'? yes
6)新加新的软连接
[root@iZwz927xptl8kw8zqrmwvcZ bin]# ln -s /usr/local/bin/python310/bin/python3.10 /usr/bin/python3 [root@iZwz927xptl8kw8zqrmwvcZ bin]# ln -s /usr/local/bin/python310/bin/pip3.10 /usr/bin/pip3 [root@iZwz927xptl8kw8zqrmwvcZ bin]# python3 -V Python 3.10.5 [root@iZwz927xptl8kw8zqrmwvcZ bin]# pip3 -V pip 22.0.4 from /usr/local/bin/python310/lib/python3.10/site-packages/pip (python 3.10)
7.检查版本
[root@iZwz927xptl8kw8zqrmwvcZ ~]# python3 -V Python 3.10.5
参考文档:
centos8下升级python3.6到3.9.1, 操作步骤、遇到的问题以及解决办法