centos 7上,如何升级python到最新的版本?

翟大卫(Zhai David) / 2023-08-24 / 原文


在centos 7上yum安装出来的,python版本是3.6.8

[root@centos7 ~]# python3 --version
Python 3.6.8

 

 

想要升级到最新的版本,如何操作?

 

本文介绍通过源码的方式,升级python到最新的版本。

 

1、下载python最新的源码包

 

登录下面的地址:

https://www.python.org/downloads/source/

 

下载到最新的源码包,这里的版本是3.11.4

 

2、上传到服务器、解压

 

[root@centos7 ~]# ls -ltr
total 25908
-rw-r--r-- 1 root root 26526163 Aug 23 22:13 Python-3.11.4.tgz
[root@centos7 ~]# tar -zxf Python-3.11.4.tgz 
[root@centos7 ~]# ls -ltr
total 25912
drwxr-xr-x 16 1000 1000     4096 Jun  6 18:16 Python-3.11.4
-rw-r--r--  1 root root 26526163 Aug 23 22:13 Python-3.11.4.tgz
[root@centos7 ~]# 

 

 

3、安装依赖包

 

这些依赖包,在编译源码的时候,会用到

yum groupinstall "Development Tools" -y

yum install gcc open-ssl-devel bzip2-devel libffi-devel openssl libssl-dev -y

 

 

4、编译、安装

 

cd Python-3.11.4/
./configure --enable-optimizations
make -j 4
make altinstall

 

 

安装之后,通过以下的命令查询python的安装

python3.11 --version

 

出现以上的信息,表明python3.11.4安装完成

 

但是默认的python3命令,还是指向python3.6

[root@centos7 bin]# ls -l python3
lrwxrwxrwx 1 root root 9 Aug 23 22:08 python3 -> python3.6
[root@centos7 bin]# 

 

 

5、修改软链接

 

通过以下的命令,创建python3命令、pip3命令的软链接

rm -f /usr/bin/python3
rm -f /usr/local/bin/pip3

ln -s /usr/local/bin/python3.11 /usr/bin/python3
ln -s /usr/local/bin/pip3.11 /usr/local/bin/pip3

 

 

执行之后,查看python的命令

[root@centos7 bin]# python3 --version
Python 3.11.4
[root@centos7 bin]# pip3 --version
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
pip 23.1.2 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)
[root@centos7 bin]# 

 

 

python3命令已经升级到最新的版本3.11.4了。

 

升级成功。