centos 7使用源码编译安装Python 3.12.2(最新版本)

(一)、说明

在centos 7上,默认安装出来的python是:2.7.5版本

1.查看python版本:
复制代码
python --version
2.通过yum安装出来的,适合当前操作系统的,最新的python版本是:3.6.8
复制代码
python3 --version

效果如下:

这个时候,想要把python升级到最新的版本,该怎么操作?

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

(二)、安装

1.安装编译依赖:
复制代码
sudo yum groupinstall -y "Development Tools"

sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
2.下载Python源代码:

1、访问 Python 官方网站下载页面

2、选择 Python 3.12 的源码压缩包,Python3.12...tgz

3、使用 wget 命令下载源码包:

复制代码
wget https://www.python.org/ftp/python/3.12.3/Python-3.12.3.tgz
3.解压并编译:

解压下载的源代码包

复制代码
tar xvf Python-3.12.3.tgz

进入目录

复制代码
cd Python-3.12.3

查看目录下的文件:

配置并编译Python

复制代码
./configure --enable-optimizations --prefix=/usr/local/python3.12

安装Python

复制代码
make
sudo make altinstall

使用make altinstall而不是make install以避免覆盖系统默认的Python版本。

(三)、验证安装

检查版本:

复制代码
python3.12 --version

或者:

复制代码
/usr/local/python3.12/bin/python3.12 --version

至此Python-3.12.3安装完成,下面可选择研究。

(四)、配置环境变量

如果需要将新安装的Python添加到系统的PATH中,可以编辑.bashrc文件或者其他Shell配置文件,并添加以下行:

复制代码
export PATH="/usr/local/bin:$PATH"

保存文件并执行以下命令使配置生效:

复制代码
source ~/.bashrc

(五)、更新软链接

当你使用make altinstall安装Python时,Python解释器通常被安装在/usr/local/bin目录下,并且会创建一个带有版本号的软链接。

1. 查找Python的安装路径:
复制代码
which python3.12

通常情况下,它应该位于/usr/local/bin/python3.12

2.更新软链接:
复制代码
sudo ln -sf /usr/local/bin/python3.12 /usr/local/bin/python3
sudo ln -sf /usr/local/bin/python3.12 /usr/local/bin/python

这将创建python3python的软链接指向新安装的Python版本。

3.验证软链接:
复制代码
python3 --version

现在python3命令应该会指向Python 3.12.3版本。

4.更新pip命令的软链接

如果你也想更新pip命令的软链接,可以执行以下命令:

复制代码
sudo ln -sf /usr/local/bin/pip3.12 /usr/local/bin/pip3
sudo ln -sf /usr/local/bin/pip3.12 /usr/local/bin/pip

这样就更新了pip3pip命令的软链接指向新的Python版本的pip。注意权限问题。

相关推荐
笑衬人心。几秒前
Ubuntu 22.04 修改默认 Python 版本为 Python3 笔记
笔记·python·ubuntu
蛋仔聊测试14 分钟前
Playwright 中 Page 对象的常用方法详解
python
码农101号21 分钟前
Linux中容器文件操作和数据卷使用以及目录挂载
linux·运维·服务器
前端付豪26 分钟前
17、自动化才是正义:用 Python 接管你的日常琐事
后端·python
jioulongzi27 分钟前
记录一次莫名奇妙的跨域502(badgateway)错误
开发语言·python
PanZonghui39 分钟前
Centos项目部署之Nginx 的安装与卸载
linux·nginx
PanZonghui1 小时前
Centos项目部署之安装数据库MySQL8
linux·后端·mysql
PanZonghui1 小时前
Centos项目部署之运行SpringBoot打包后的jar文件
linux·spring boot
PanZonghui1 小时前
Centos项目部署之Java安装与配置
java·linux
破无差1 小时前
python实现简单的地图绘制与标记20250705
python