跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

在 CentOS 上安装 Python 3.12

在 CentOS 系统上手动编译安装 Python 3.12 的完整流程。首先更新系统并安装 gcc、openssl 等编译依赖,随后从官方或镜像源下载源码包。接着解压源码,通过 configure 指定安装路径以避免覆盖系统默认版本,并使用 make 进行编译和安装。最后创建软链接将新安装的 Python 和 pip 加入环境变量,验证版本后即可正常开发使用。

松间照月发布于 2026/3/26更新于 2026/9/783 浏览

在 CentOS 上安装 Python 3.12

对于 CentOS 用户来说,系统默认的 Python 版本往往跟不上开发需求——比如 CentOS 7 默认 Python 2.7,CentOS 8 也仅搭载 Python 3.6,而 Python 3.12 带来的函数调用性能提升、类型提示增强等特性,早已成为不少开发者的刚需。

一、安装前准备:先搞定依赖环境

编译 Python 源代码前,必须先安装系统依赖包——少装一个都可能导致后续步骤报错。打开 CentOS 终端,按顺序执行以下命令即可。

1.1 先更新系统软件包

首先把系统已有的软件包更新到最新版本,避免因版本兼容问题卡壳:

sudo yum update -y 

-y参数会自动确认所有更新操作,不用手动按回车,等终端显示'Complete!'就说明更新完成。

1.2 安装编译必需的依赖库

这条命令能一次性装全编译 Python 需要的工具和依赖,直接复制执行:

sudo yum install -y gcc openssl-devel bzip2-devel libffi-devel zlib-devel wget

简单解释下关键依赖的作用:

  • gcc:核心编译器,没有它无法将 Python 源代码编译成可执行程序;
  • openssl-devel:支持 Python 的 HTTPS/SSL 功能,比如用 pip 装包、请求 HTTPS 接口都靠它;
  • libffi-devel:让 Python 能调用 C 语言编写的库(比如一些高性能第三方包);
  • wget:后续用来下载 Python 源代码包的工具。

二、下载 Python 3.12 源代码

推荐从 Python 官方源或国内镜像源下载,国内镜像速度更快,这里两种方式都给大家列出来。

2.1 切换到源代码存放目录

Linux 系统习惯把源代码放在 /usr/local/src 目录(权限清晰,方便管理),先切换到这个目录:

cd /usr/local/src 
2.2 下载 Python 3.12 源码包

目前 Python 3.12 的最新稳定版是 3.12.4(2024 年 6 月发布),如果后续有更新,把命令中的 3.12.4 换成最新版本号即可。

方式 1:国内镜像源(推荐,速度快)

用清华大学镜像源下载,几秒钟就能完成:

wget https://mirrors.tuna.tsinghua.edu.cn/python/3.12.4/Python-3.12.4.tgz 
方式 2:Python 官方源

如果镜像源暂时无法访问,可切换到官方源:

wget https://www.python.org/ftp/python/3.12./-..tgz 
4
Python
3.12
4

下载完成后,执行 ls 命令,能看到目录里多了一个 Python-3.12.4.tgz 的压缩包,就说明下载成功了。

三、核心步骤:编译与安装 Python 3.12

这一步是关键,必须按'解压→配置→编译→安装'的顺序执行,不要跳步。

3.1 解压源代码包

用 tar 命令解压刚才下载的压缩包,命令如下:

sudo tar -zxvf Python-3.12.4.tgz 
  • z:处理 gz 格式压缩包;
  • x:开启解压模式;
  • v:显示解压过程(能看到正在解压的文件);
  • f:指定要解压的文件名。

解压完成后,当前目录会出现一个 Python-3.12.4 的文件夹,里面就是 Python 3.12 的源代码。

3.2 配置安装路径与功能

先进入解压后的源代码目录:

cd Python-3.12.4 

然后执行 configure 命令,重点是指定安装路径——这样能避免和系统默认 Python 版本冲突:

sudo ./configure --enable-optimizations --prefix=/usr/local/python3.12 --with-openssl=/usr/include/openssl 

参数说明:

  • --enable-optimizations:可以优化 Python 解释器的性能,但会增加编译时间;
  • --prefix=/usr/local/python3.12:把 Python 3.12 安装到这个目录,后续卸载或管理都方便;
  • --with-openssl=/usr/include/openssl:指定 SSL 依赖路径,解决后续 pip 无法使用 HTTPS 的问题。

配置过程大概 10 秒左右,只要终端没出现'error:'开头的红色报错,就说明配置成功。

3.3 编译与安装

先执行编译命令,-j2 表示用 2 个 CPU 核心编译(如果服务器是 4 核,可改成 -j4,速度更快):

sudo make -j2 

编译需要 1-3 分钟(取决于服务器配置),中间别中断,等终端回到命令行提示符就说明编译完成。

接着执行安装命令:

sudo make altinstall 

使用 make altinstall 可以避免覆盖系统默认的 Python 版本。安装很快,几十秒就能完成。如果终端最后显示'Successfully installed pip-xx.x.x',就说明 Python 3.12 已经成功安装到 /usr/local/python312 目录了!

四、配置环境:让系统识别 Python 3.12

装完后还不能直接用 python 命令调用——需要创建'软链接'(类似 Windows 的快捷方式),把 Python 3.12 的命令加入系统默认路径。

4.1 创建软链接(推荐新手)

执行以下两条命令,分别给 Python 3.12 和对应的 pip 创建软链接:

# 给 Python 3.12 创建软链接,命令名为 python312
sudo ln -s /usr/local/python3.12/bin/python3.12 /usr/bin/python3.12
# 给 pip 创建软链接,命令名为 pip312
sudo ln -s /usr/local/python3.12/bin/pip3.12 /usr/bin/pip3.12

用 python3.12 和 pip3.12 作为命令名,是为了和系统自带的 python/python3 区分开,避免误删或冲突。

4.2 验证安装结果

执行以下命令检查 Python 3.12 版本:

python3.12 --version 

如果输出 Python 3.12.4(或你安装的版本号),说明 Python 3.12 能正常调用。

再检查 pip 是否可用:

pip3.12 --version 

输出类似 pip 24.0 from /usr/local/python312/lib/python3.12/site-packages/pip (python 3.12),就说明 pip 也配置好了。

五、避坑指南:常见问题解决

操作中遇到报错别慌,这几个高频问题的解决方法帮你省下查资料的时间。

问题 1:编译时提示'no acceptable C compiler found in $PATH'

原因:没安装 gcc 编译器,依赖安装步骤漏了。 解决:重新安装 gcc:

sudo yum install -y gcc 
问题 2:执行 python3.12 提示'command not found'

原因:软链接创建失败,可能是路径写错了。 解决:先检查软链接是否存在:

ls -l /usr/bin/python3.12 

如果显示'No such file or directory',重新执行创建软链接的命令,注意路径中的 Python-3.12.4 和 python3.12 别写错。

问题 3:用 pip3.12 装包时提示'SSL: CERTIFICATE_VERIFY_FAILED'

原因:安装时没正确配置 SSL 依赖,或 openssl-devel 没装。 解决:先确认依赖已安装:

sudo yum install -y openssl-devel 

然后回到源代码目录,重新执行'配置→编译→安装':

cd /usr/local/src/Python-3.12.4
sudo make clean
sudo ./configure --prefix=/usr/local/python3.12 --with-openssl=/usr/include/openssl
sudo make -j2
sudo make install

六、上手测试:简单用一下 Python 3.12

安装完成后,不妨在终端测试一下:输入 python3.12 进入交互模式,然后输入:

print("Hello, Python 3.12!")

按回车后能正常输出文字,就说明一切正常。想退出交互模式,按 Ctrl+D 即可。

后续使用时,运行 Python 脚本用 python3.12 脚本名.py,安装第三方包用 pip3.12 install 包名(比如 pip3.12 install requests),和平时用 Python 没区别。

目录

  1. 在 CentOS 上安装 Python 3.12
  2. 一、安装前准备:先搞定依赖环境
  3. 1.1 先更新系统软件包
  4. 1.2 安装编译必需的依赖库
  5. 二、下载 Python 3.12 源代码
  6. 2.1 切换到源代码存放目录
  7. 2.2 下载 Python 3.12 源码包
  8. 方式 1:国内镜像源(推荐,速度快)
  9. 方式 2:Python 官方源
  10. 三、核心步骤:编译与安装 Python 3.12
  11. 3.1 解压源代码包
  12. 3.2 配置安装路径与功能
  13. 3.3 编译与安装
  14. 四、配置环境:让系统识别 Python 3.12
  15. 4.1 创建软链接(推荐新手)
  16. 给 Python 3.12 创建软链接,命令名为 python312
  17. 给 pip 创建软链接,命令名为 pip312
  18. 4.2 验证安装结果
  19. 五、避坑指南:常见问题解决
  20. 问题 1:编译时提示“no acceptable C compiler found in $PATH”
  21. 问题 2:执行 python3.12 提示“command not found”
  22. 问题 3:用 pip3.12 装包时提示“SSL: CERTIFICATEVERIFYFAILED”
  23. 六、上手测试:简单用一下 Python 3.12

更多推荐文章

查看全部
  • 中国信通院《2024年人工智能发展报告》核心观点解读
  • 使用 json-repair 库修复大模型返回的异常 JSON 格式
  • 2025 年 12 月 GitHub 十大热门开源项目
  • 主流 AI 编程模型对比与选型实战指南
  • HarmonyOS 6.0 Network Kit 深度解析:TLS 国密证书支持
  • C++ 高性能定长内存池实现原理与测试
  • 豆包 Seedream 4.0 多图融合能力测评:田园犬与三花猫多场景生成
  • OpenVLA 在机器人平台上的微调与部署指南
  • Ubuntu 24.04.2 LTS 桌面版安装、分区与配置指南
  • Llama-Factory 是否支持 RLHF?现状与实践路径
  • 网络安全自学指南:从基础入门到进阶实战的核心路径
  • 大模型(LLM)在金融投资领域的应用
  • 《GPT 图解大模型是怎样构建的》技术解析与学习指南
  • 上海交大发布 Auto-J:用 AI 评估 AI,部分任务超越 GPT-4
  • Z-Image i2L 本地 AI 绘画工具快速入门
  • 冒泡排序与选择排序的 C 语言实现及思想解析
  • 人工智能赋能招聘行业:从效率革新到平台经济重构
  • 基于 FPGA 的高精度 TDC 设计
  • ToDesk 顺网云海马云部署 DeepSeek 大模型对比评测
  • 前端请求后端 404/405/500 状态码排查与解决实战

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online