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。注意权限问题。

相关推荐
Java后端的Ai之路3 小时前
【Python 教程15】-Python和Web
python
Coder个人博客4 小时前
Linux6.19-ARM64 mm mmu子模块深入分析
大数据·linux·车载系统·系统架构·系统安全·鸿蒙系统
冬奇Lab5 小时前
一天一个开源项目(第15篇):MapToPoster - 用代码将城市地图转换为精美的海报设计
python·开源
较劲男子汉7 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
Doro再努力7 小时前
Vim 快速上手实操手册:从入门到生产环境实战
linux·编辑器·vim
wypywyp7 小时前
8. ubuntu 虚拟机 linux 服务器 TCP/IP 概念辨析
linux·服务器·ubuntu
二十雨辰7 小时前
[python]-AI大模型
开发语言·人工智能·python
Doro再努力7 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
senijusene7 小时前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器
不像程序员的程序媛7 小时前
Nginx日志切分
服务器·前端·nginx