当前位置: 首页 > news >正文

Python 源码编译安装详解:跨平台指南及完整步骤解析

Python 源码编译安装详解:跨平台指南及完整步骤解析

文章目录

  • Python 源码编译安装详解:跨平台指南及完整步骤解析
      • 一 准备工作
        • 1)Ubuntu/Debian
        • 2)CentOS/RHEL
        • 3)macOS
      • 二 下载 Python 源码
      • 三 编译与安装
        • 1)解压源码
        • 2)配置安装选项
        • 3)编译源码
        • 4)安装
      • 四 验证安装

本文详细介绍了如何在不同操作系统(Ubuntu/Debian、CentOS/RHEL、macOS)上,从源码编译并安装 Python 的完整过程。首先,文章提供了各平台上所需的依赖工具和库的安装步骤。然后,讲解了如何下载 Python 官方源码包,解压后进行配置和编译,并使用 altinstall 避免覆盖系统默认的 Python 版本。最后,文章通过版本验证确保安装成功。此指南适合需要在多平台环境下定制安装 Python 的开发者和系统管理员参考与实践。

一 准备工作

安装编译 Python 源码所需的依赖工具和库。这通常包括 gcc 编译器、make 工具以及开发库等。

1)Ubuntu/Debian
sudo apt-get update
sudo apt-get install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget
2)CentOS/RHEL
sudo yum groupinstall "Development Tools"
sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
3)macOS
brew install openssl readline sqlite3 xz zlib

二 下载 Python 源码

从 Python 官方网站或 Python 的 GitHub 仓库下载最新的源码压缩包。

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

三 编译与安装

1)解压源码
tar -xvzf Python-3.12.7.tgz
2)配置安装选项

进入解压后的目录,并配置安装选项。prefix 参数指定安装位置:

cd Python-3.12.7
./configure --prefix=/usr/local/opt/python-3.12.7
3)编译源码
make
4)安装

安装编译好的 Python。使用 sudo 可能需要管理员权限:

sudo make altinstall

使用 altinstall 而不是 install 是为了避免替换系统默认的 Python 版本。

四 验证安装

检查 Python 版本,确保安装成功:

/usr/local/opt/python-3.12.7/bin/python3.12 --version
http://www.lryc.cn/news/457635.html

相关文章:

  • MQTT vs HTTP:谁更适合物联网?
  • 小北的技术博客:探索华为昇腾CANN训练营与AI技术创新——Ascend C算子开发能力认证考试(初级)
  • 鸿蒙next开发者第一课02.DevEcoStudio的使用-习题
  • 【vue】监听table水平滚动条切换tab后还原位置
  • C#使用PdfSharp生成PDF文件实例详解
  • 【软件系统架构设计师-案例-1】架构风格
  • 神经网络整体架构
  • 山西农业大学20241010
  • 小北的技术博客:探索华为昇腾CANN训练营与AI技术创新——Ascend C算子开发能力认证考试(中级)
  • Docker极速入门一文通
  • Unity网络开发基础 —— 实践小项目
  • 四、Spring Boot集成Spring Security之认证流程
  • Chromium 中chrome.bookmarks扩展接口c++实现
  • 编程思想:编程范式:响应式编程
  • Leetcode 颜色分类
  • ssh连接阿里云长连接
  • 栈的C实现
  • 【MySQL】入门篇—数据库基础:关系数据库概念
  • 不到千元的自动猫砂盆是智商税吗?这四大选购技巧不看就亏大了
  • 【图论】(二)图论基础与路径问题
  • Git常用命令(持续更新中)
  • 什么是PLM系统?PLM系统对制造业起到哪些作用?三品PLM系统对汽车制造业意义
  • Pr 视频效果:元数据和时间码刻录
  • 前端MD5加密
  • 仿IOS桌面悬浮球(支持拖拽、自动吸附、自动改变透明度与点击、兼容PC端与移动端)
  • 智谱开放平台API调用解析
  • Linux中定时删除10天前的日志文件
  • 贝壳Android面试题及参考答案
  • 基于vue的酒店预订管理系统(源码+定制+开发)
  • FreeRTOS——TCB任务控制块、任务句柄、任务栈详解