news 2026/8/3 7:50:03

Linux 编译安装 Python 3.12.10(多版本共存,不破坏系统Python)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux 编译安装 Python 3.12.10(多版本共存,不破坏系统Python)

前言

很多Linux服务器自带Python版本较低,无法满足新项目开发需求。直接替换系统Python会导致yumapt等系统工具异常。本文采用源码编译方式独立安装 Python 3.12.10,与系统Python、已安装的Python3.9等版本共存,通过独立软链接区分版本,安全稳定。

环境适用:CentOS 7/8/Stream、RockyLinux、Ubuntu、Debian
安装方式:源码编译安装
安装目录:/usr/local/python312
调用命令:python312pip312

一、安装编译所需依赖包

编译Python源码必须提前安装开发依赖,缺少依赖会出现编译失败、SSL模块缺失、pip不可用等问题。

CentOS / Rocky Linux(yum)

yuminstall-ygcc gcc-c++makezlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

Ubuntu / Debian(apt)

aptupdateaptinstall-ygcc g++makelibz-dev libbz2-dev libssl-dev libncurses-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev liblzma-dev libffi-dev

二、下载 Python 3.12.10 源码包

进入源码存放目录/usr/local/src,下载源码。提供官方源与清华大学镜像源,国内服务器推荐清华镜像,速度更快。

cd/usr/local/src# 清华镜像(推荐国内服务器)wgethttps://mirrors.tuna.tsinghua.edu.cn/python/3.12.10/Python-3.12.10.tgz# 官方源(海外服务器可选)# wget https://www.python.org/ftp/python/3.12.10/Python-3.12.10.tgz

三、解压源码包并进入目录

tar-zxvfPython-3.12.10.tgzcdPython-3.12.10

四、配置编译参数

使用./configure指定安装路径,取消--enable-optimizations,该参数会增加编译耗时,部分服务器容易出现编译卡死、报错。

./configure--prefix=/usr/local/python312

参数说明:
--prefix=/usr/local/python312:指定程序安装目录,所有文件统一存放于此,方便后续卸载、版本管理。

五、编译与安装

make&&makeinstall

⏱ 编译耗时根据服务器CPU性能决定,低配置云服务器可能需要3~10分钟,请耐心等待,不要中断操作。

六、创建全局软链接(多版本共存关键)

我们不覆盖系统pythonpython3命令,新建独立命令python312pip312,和现有的python39、系统python互不冲突。

ln-s/usr/local/python312/bin/python3.12 /usr/bin/python312ln-s/usr/local/python312/bin/pip3.12 /usr/bin/pip312

七、验证安装结果

执行下面命令查看版本,输出版本号即代表安装成功。

python312-Vpip312-V

预期输出:

Python 3.12.10 pip 24.2 from /usr/local/python312/lib/python3.12/site-packages/pip (python 3.12)

八、优化配置(推荐执行)

1. pip 设置国内清华源,加速第三方库下载

pip312 configsetglobal.index-url https://pypi.tuna.tsinghua.edu.cn/simple

2. 简单使用示例

# 启动python3.12交互环境python312# 安装第三方包pip312installrequests# 运行python脚本python312 test.py

九、常见问题汇总

问题1:CentOS7 编译后pip无法使用,提示缺少SSL模块

原因:Python3.12要求OpenSSL版本 ≥1.1.1,CentOS7系统自带OpenSSL 1.0.2无法满足需求,需要手动升级OpenSSL再重新编译Python。

问题2:make编译报错、缺少模块

解决方案:确认第一步所有依赖包完整安装,清理编译缓存后重新编译

makeclean ./configure--prefix=/usr/local/python312make&&makeinstall

问题3:如何卸载Python3.12.10

无需复杂卸载工具,直接删除目录与软链接即可:

rm-rf/usr/local/python312rm-f/usr/bin/python312rm-f/usr/bin/pip312

十、多版本Python共存说明

如果你服务器上同时存在多个Python版本,调用区分如下:

python39# Python3.9.18python312# Python3.12.10python3# 系统自带Python3(如有)

如果你想要,我可以再给你增加一键自动化Shell脚本完整版,直接复制运行全自动安装;或者调整文章排版,适配Typecho、Hexo、WordPress博客格式。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/3 7:40:48

Godot游戏开发:观察者与命令模式实战,构建高内聚低耦合代码架构

1. 项目概述:为什么游戏开发绕不开设计模式? 如果你在Godot里摸爬滚打了一段时间,从实现第一个会跳的小方块,到尝试构建一个有多个角色、复杂交互的关卡,你大概率会遇到一个瓶颈:代码开始变得混乱不堪。新加…

作者头像 李华
网站建设 2026/8/3 7:34:07

PROFINET交换机哪家好?三大主流PN交换机横向解析

在汽车焊装、数控机床、智能仓储、产线自动化等场景中,PROFINET 以太网是设备协同、伺服联动、视觉检测的通信命脉,而PN交换机作为网络核心枢纽,直接决定整条产线通信稳定性、停机率与运维成本。面对市场繁多品牌,不少自动化工程师…

作者头像 李华
网站建设 2026/8/3 7:31:25

分布式系统限流算法原理与工程实践

1. 限流算法基础概念与核心价值限流算法是分布式系统设计中不可或缺的稳定性保障手段。当系统面临突发流量时,就像城市交通遇到早晚高峰,如果没有合理的流量控制机制,整个系统就会像拥堵的十字路口一样陷入瘫痪。我在实际工作中经历过多次流量…

作者头像 李华
网站建设 2026/8/3 7:29:33

新能源并网中同步电机与构网型变流器的频率稳定性研究

1. 项目背景与核心问题电力系统中同步电机与构网型变流器的频率稳定性研究,是新能源并网领域的关键技术挑战。随着可再生能源渗透率不断提高,传统同步发电机占比下降,系统惯性降低导致频率调节能力减弱。构网型变流器(Grid-Formin…

作者头像 李华
网站建设 2026/8/3 7:27:46

南京西服定制哪家口碑推荐

在南京,想找一家靠谱的西服定制店,真的不容易。尤其是对于需要出席重要场合、或者对穿着有要求的男士来说,版型、面料、工艺、服务缺一不可。今天要给大家推荐的,是我私藏很久的宝藏品牌——爱西莊,一家真正能做到“一…

作者头像 李华
网站建设 2026/8/3 7:24:39

VBA操作Excel工作表数据的30个高级应用场景

1. 项目概述:VBA操作Excel工作表数据的核心价值在Excel自动化处理领域,VBA(Visual Basic for Applications)始终是不可替代的利器。我处理过大量需要批量操作xlsx/xlsm文件的案例,从财务数据清洗到工程报表生成&#x…

作者头像 李华