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

这将创建python3和python的软链接指向新安装的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

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

相关推荐
中云DDoS CC防护蔡蔡7 小时前
DDOS和CC攻击谁更可怕
运维·服务器·经验分享·网络安全·ddos
Ruiery7 小时前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
第九序言T7 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路8 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003968 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
欧米欧8 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery8 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
Sakura_j_h_8 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
qetfw9 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
前端精髓9 小时前
调用大模型API
运维·服务器·microsoft