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

相关推荐
小白学大数据10 小时前
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
爬虫·python·ajax
ybb_ymm11 小时前
mysql8在linux下的默认规则修改
linux·运维·数据库·mysql
半梦半醒*11 小时前
zabbix安装
linux·运维·前端·网络·zabbix
2401_8414956411 小时前
【计算机视觉】基于复杂环境下的车牌识别
人工智能·python·算法·计算机视觉·去噪·车牌识别·字符识别
Adorable老犀牛11 小时前
阿里云-ECS实例信息统计并发送统计报告到企业微信
python·阿里云·云计算·企业微信
倔强青铜三12 小时前
苦练Python第66天:文件操作终极武器!shutil模块完全指南
人工智能·python·面试
倔强青铜三12 小时前
苦练Python第65天:CPU密集型任务救星!多进程multiprocessing模块实战解析,攻破GIL限制!
人工智能·python·面试
Panda__Panda12 小时前
docker项目打包演示项目(数字排序服务)
运维·javascript·python·docker·容器·c#
板鸭〈小号〉12 小时前
Socket网络编程(2)-command_server
运维·服务器
Lris-KK13 小时前
力扣Hot100--94.二叉树的中序遍历、144.二叉树的前序遍历、145.二叉树的后序遍历
python·算法·leetcode