展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > Linux系统安装Python指南:Ubuntu/CentOS包管理器与源码编译方法

Linux系统安装Python指南:Ubuntu/CentOS包管理器与源码编译方法

针对Ubuntu与CentOS系统的Python安装指南,详细介绍APT/DNF/YUM包管理器安装、PPA扩展以及从源码编译安装Python的完整步骤、避坑注意事项与多版本共存方案。

本文目录

    假设你刚拿到一台全新的云服务器或虚拟机,正准备部署一个基于现代框架的后端服务,运行 python3 --version 却发现系统只自带了一个版本过低的 Python,甚至在某些精简镜像中根本没有默认解释器。直接强行替换默认命令可能导致包管理器或系统脚本瘫痪,而不加思考地拉取源码编译又常会遭遇缺少 OpenSSL、zlib 或 SQLite3 等底层库的构建错误。在 Linux 环境中安装 Python,通常有两大主流路径:系统包管理器快速安装 与 源码编译定制安装。本文将针对 Ubuntu 与 CentOS(含 RHEL 兼容发行版)两个代表性生态,梳理这两条路径的具体操作规范、核心注意事项及验证流程。

    Linux系统安装Python指南:Ubuntu/CentOS包管理器与源码编译方法
    图 1:Linux 环境下 Python 两种安装方式的选择逻辑

    一、使用包管理器安装(推荐优先考虑)

    利用系统包管理器安装是最平稳、耗时最短的方式。包管理器会自动配置可执行路径、解析底层动态库依赖,并且由发行版官方维护安全更新。不过其局限在于官方源中提供的版本通常较保守;若需更新的版本,Ubuntu 可以引入社区维护的知名 PPA 源,CentOS 则可配合 EPEL 或 AppStream 模块。

    1. Ubuntu 系统(APT 与 PPA)

    Ubuntu 默认仓库中通常自带当前 LTS 发行版支持的主流 Python 版本。如果需要安装默认仓库中的最新维护包,直接使用 apt 即可:

    # 更新索引并安装 Python3 及其包管理工具
    sudo apt update
    sudo apt install -y python3 python3-pip python3-venv

    当你需要指定的次版本(例如在 Ubuntu 20.04/22.04 上安装更新的 Python 3.12),官方源往往尚未收录。此时业界通用的做法是引入 Ubuntu 核心开发者团队维护的 deadsnakes PPA 归档:

    # 安装管理软件源所需的工具
    sudo apt update
    sudo apt install -y software-properties-common
    
    # 添加 deadsnakes PPA 软件源
    sudo add-apt-repository ppa:deadsnakes/ppa
    sudo apt update
    
    # 安装指定版本的 Python 解释器与虚拟环境支持
    sudo apt install -y python3.12 python3.12-venv python3.12-dev
    提示:通过 PPA 安装的特定版本会被命名为 python3.12,它与 Ubuntu 基础系统自带的 /usr/bin/python3 彼此独立并存,不会破坏系统自带工具(如 apt 自身依赖的脚本)。

    2. CentOS / RHEL 系统(YUM 与 DNF)

    在 CentOS 7 或基于 RHEL 8/9 的兼容发行版(如 Rocky Linux、AlmaLinux)中,包管理机制有所不同。CentOS 7 默认的 YUM 源中 Python 版本较为陈旧,通常需启用 EPEL 源;而 RHEL/CentOS 8 及以上系统推荐使用模块流(module stream)或 DNF。

    在 CentOS 7 系统中的操作:

    # 启用企业版附加软件包 (EPEL) 源
    sudo yum install -y epel-release
    sudo yum update -y
    
    # 安装 EPEL 维护的 Python 3
    sudo yum install -y python3 python3-pip python3-devel

    在 CentOS Stream / Rocky Linux / RHEL 8 或 9 系统中的操作:

    # 列出可用 Python 模块流
    sudo dnf module list python3*
    
    # 启用并安装指定模块流(例如 python39 或 python311)
    sudo dnf module enable -y python39
    sudo dnf install -y python39 python39-pip python39-devel

    二、从源码编译安装(适用精确版本与隔离需求)

    如果需要在较旧的生产系统上运行特定版本、要求开启特定的解释器编译参数(例如 --enable-optimizations 提升运行时性能),或者处于无法连接外部 APT/PPA 源的企业私有内网,源码编译是唯一也是最可靠的途径。

    源码编译的核心逻辑分为四个阶段:安装构建工具与开发库、解压并执行预检查配置、多核并行编译、使用隔离方式安装至系统。

    Linux系统安装Python指南:Ubuntu/CentOS包管理器与源码编译方法
    图 2:从依赖安装到安全写入的源码构建标准操作步骤

    第一步:补齐底层编译依赖

    这是编译成功最关键的一步。Python 依赖 C 编译器构建,其核心扩展模块(如处理 HTTPS 通信的 ssl、本地数据库 sqlite3、压缩模块 zlib)均需要宿主机提供头文件与静态/动态链接库。若提前不装,编译往往不会中断,但最终生成的 Python 将缺失核心模块,导致后续运行 pip install 时报 SSL 认证失败或解包错误。

    在 Ubuntu / Debian 体系上执行:

    sudo apt update
    sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev \
    libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev \
    libbz2-dev wget curl llvm make gcc

    在 CentOS 7 / RHEL 体系上执行:

    sudo yum groupinstall -y "Development Tools"
    sudo yum install -y openssl-devel bzip2-devel libffi-devel zlib-devel \
    readline-devel sqlite-devel wget curl gcc make

    第二步:下载并校验官方源码包

    推荐直接前往 Python 官方源码归档站点下载 Gzipped source tarball。以下以编译安装 Python 3.11.8 为例:

    # 切换至临时目录下载源码
    cd /usr/local/src
    sudo wget https://www.python.org/ftp/python/3.11.8/Python-3.11.8.tgz
    
    # 解压文件并进入源码根目录
    sudo tar -zxvf Python-3.11.8.tgz
    cd Python-3.11.8

    第三步:配置编译参数

    运行 ./configure 脚本来探测当前系统环境,生成 Makefile。建议启用 --enable-optimizations 参数,这会开启 Profile Guided Optimization (PGO) 和 LTO,通过运行一套基准测试套件让编译产物获得约 10%~20% 的运行速度提升(代价是编译时间会稍微延长)。

    # 配置检查环境与性能优化
    sudo ./configure --enable-optimizations

    第四步:多核编译与安装(核心警告:必须使用 altinstall)

    使用 nproc 命令获取当前机器可用的 CPU 核心数,并传递给 make -j 参数开启多线程编译,大幅缩减构建耗时。编译完成后,务必使用 make altinstall 替代 make install。

    # 获取核心数并启动多核并行编译
    sudo make -j $(nproc)
    
    # 执行安全安装
    sudo make altinstall
    严重警告:绝对不要在生产机上直接运行 sudo make install。标准的 make install 会直接把可执行文件写入为 /usr/local/bin/python3 甚至覆盖系统的默认符号链接,导致系统级管理工具(如 CentOS 依赖的 yum/dnf、Ubuntu 依赖的 unattended-upgrades)发生底层语法不兼容直接崩溃。make altinstall 会严格保留版本后缀(如 python3.11),跳过创建无后缀的软链接。

    三、核心底层结构对比:包管理器 vs 源码编译

    理解两者在 Linux 目录层级中的落脚点,能帮你快速定位路径冲突或依赖解析问题:

    Linux系统安装Python指南:Ubuntu/CentOS包管理器与源码编译方法
    图 3:包管理器与源码编译的核心特性及系统路径对比

    四、安装验证与环境测试

    完成上述任一途径安装后,不能仅仅输入一次命令就默认成功。需要验证三项核心指标:解释器主程序、SSL 通信支持以及配套的虚拟环境构建。

    1. 验证可执行程序及位置

    # 检查版本(以安装 3.11 为例)
    python3.11 --version
    # 示例输出: Python 3.11.8
    
    # 查看实际二进制文件路径
    which python3.11
    # 源码编译默认输出: /usr/local/bin/python3.11
    # PPA/系统包管理器默认输出: /usr/bin/python3.11

    2. 验证关键扩展模块(SSL 与 SQLite)

    很多开发者在编译安装成功后,一使用 pip 下载包就报 Can't connect to HTTPS URL because the SSL module is not available。通过以下单行命令可直接测试:

    # 验证 SSL 与 SQLite 支持
    python3.11 -c "import ssl; import sqlite3; print('SSL 版本:', ssl.OPENSSL_VERSION); print('SQLite3 正常')"

    若能够正确打印出 OpenSSL 的版本号并输出“SQLite3 正常”,说明编译阶段的所有必要依赖库均已完整嵌入,后续的包管理与数据存取不会受阻。

    五、最佳实践:多版本共存与隔离运维

    在长期维护的 Linux 服务器上,极不建议去强制修改 /usr/bin/python3 的软链接指向。无论你采用何种方式安装了新的 Python 版本,推荐的使用流程均是通过 Python 虚拟环境(Virtual Environment) 将应用依赖和解释器绑定。

    # 1. 进入你的项目部署目录
    cd /data/www/my_project
    
    # 2. 使用刚才安装的特定版本创建隔离环境
    python3.11 -m venv venv
    
    # 3. 激活虚拟环境
    source venv/bin/activate
    
    # 4. 激活后,环境内直接使用通用的 python 与 pip,互不干扰
    (venv) $ which python
    # 输出: /data/www/my_project/venv/bin/python
    (venv) $ python --version
    # 输出: Python 3.11.8
    
    # 5. 退出当前虚拟环境
    (venv) $ deactivate
    Linux系统安装Python指南:Ubuntu/CentOS包管理器与源码编译方法
    图 4:Linux 系统下 Python 多版本共存与隔离运维结构

    只要遵守“系统默认解释器保持不动,外部扩展版本使用 altinstall 独立落盘,具体工程通过 venv 封装”的基本规范,无论是 Ubuntu 还是 CentOS,都能在确保操作系统底座稳定的同时,平滑运行各种版本的 Python 应用程序。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    Beamer 4 macOS版
    Beamer 4 macOS版

    Beamer 4是面向macOS的本地视频投屏工具,可将Mac中的影片投放到Apple TV、Chromecast及兼容设备,支持常见格式、多类字幕、环绕声、播放列表和电视遥控操作。

    Boom 3D macOS版
    Boom 3D macOS版

    Boom 3D macOS版是一款系统级音效增强工具,可为音乐、电影、游戏和流媒体提供3D虚拟环绕声、31段均衡器、音量增强及应用独立音量控制,并支持本地播放器与多种音频输出设备。

    Boris FX macOS版
    Boris FX macOS版

    Boris FX macOS版是一套面向剪辑、合成、调色及动态图形工作的专业后期工具,涵盖视觉特效、平面与三维跟踪、转描、画面修复、粒子动画和音频清理,可配合多种主流宿主软件使用。

    Capto macOS版
    Capto macOS版

    Capto 是面向 macOS 的屏幕截图、高清录屏与媒体编辑工具,支持区域及整屏捕获、网页长截图、双音轨处理、图片和视频标注、素材分类与多渠道分享,适合教师、学生、内容创作者及需要制作演示教程的用户。

    ChemDraw macOS版
    ChemDraw macOS版

    ChemDraw macOS版是一款面向化学学习、科研和制药工作的专业结构绘图工具,可创建分子、反应及生物聚合物图形,并提供结构整理、格式转换和科研成果展示能力。

    Cursor Crane macOS版
    Cursor Crane macOS版

    Cursor Crane 是一款仅面向 macOS 的键盘操控效率工具,可通过提示标签、网格、文字查找和窗口模式完成点击、滚动、定位与切换,并支持屏幕内容提取、脚本及工作流扩展。

    Deep Freeze 冰点还原 macOS版
    Deep Freeze 冰点还原 macOS版

    Deep Freeze 冰点还原 macOS版通过冻结系统配置,让受保护的Mac在重新启动后回到预设状态,并提供解冻空间、维护计划、密码保护及Apple Remote Desktop管理能力。

    Focusky macOS版
    Focusky macOS版

    Focusky macOS版是一款面向教学课件、商务汇报、产品展示和动画宣传内容的演示制作工具。它通过无限画布、路径编排、缩放旋转转场及多媒体编辑,将传统逐页幻灯片转化为更具空间感的动态演示。

    Folder Colorizer 2 macOS版
    Folder Colorizer 2 macOS版

    Folder Colorizer 2 macOS版是一款直观的文件夹外观定制工具,可更换颜色,添加表情、贴纸及图片背景,并支持批量处理、智能推荐和恢复默认样式,帮助用户更快辨认工作、学习与生活资料。

    WINDOWS 更多
    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    AirServer Windows版
    AirServer Windows版

    AirServer Windows版可把电脑变成AirPlay、Google Cast和Miracast无线投屏接收端,适合会议演示、课堂教学及家庭大屏分享。发送设备通常无需另装客户端,并可同时接收和智能排列多个镜像会话。

    AlwaysUp Windows版
    AlwaysUp Windows版

    AlwaysUp是一款面向Windows的系统服务注册与程序托管工具,可让普通应用、脚本及批处理在无人登录时随系统启动,并通过状态检测、异常重启、资源监控和邮件通知保障关键任务持续运行。

    AnyDesk Windows版
    AnyDesk Windows版

    AnyDesk Windows版是一款轻量化远程桌面与技术支持工具,可用于控制异地电脑、传输文件、远程打印及无人值守访问。它兼顾连接响应、安全权限和部署灵活性,适合个人远程办公、企业设备维护与客服支持。

    Boom 3D Windows版
    Boom 3D Windows版

    Boom 3D Windows版是一款面向音乐、电影和游戏场景的系统级音效增强工具,支持虚拟3D环绕声、31段均衡器、预设音效、应用音量控制及本地音乐播放,可配合耳机、扬声器和蓝牙耳机使用。

    Boris FX Windows版
    Boris FX Windows版

    Boris FX Windows版是一套服务于影视剪辑、视觉特效、运动跟踪、转描、图像修饰及音频修复的专业创作工具集合,可作为插件接入多种主流后期宿主,也包含可独立运行的应用,适合剪辑师、特效师与内容创作者使用。

    ChemDraw Windows版
    ChemDraw Windows版

    ChemDraw Windows版是一款面向化学研究、药物研发、材料科学和教学工作的专业结构绘图工具,可快速绘制分子、反应式及生物聚合物,并提供结构整理、格式转换、性质计算和科研文档协作能力。

    CODESOFT Windows版
    CODESOFT Windows版

    CODESOFT Windows版是一套企业级条码与RFID标签设计打印工具,可连接Excel、Access、SQL及云端数据源,支持变量、表单、GS1条码、数据库记录和多种工业打印机,适合制造、仓储、物流及合规标识场景。

    Deep Freeze 冰点还原 Windows版
    Deep Freeze 冰点还原 Windows版

    Deep Freeze 冰点还原 Windows版通过重启恢复技术保护系统盘及指定分区,自动撤销恶意程序、误操作和配置漂移造成的改动,并支持密码保护、解冻空间与多硬盘管理,适合学校机房、公共电脑、办公终端及家庭电脑使用。

    EDIUS Windows版
    EDIUS Windows版

    EDIUS 11 Windows版是一款面向影视制作、广播电视、纪录片、短视频及教育机构的专业非线性编辑工具,支持4K/8K、多格式混编、HDR调色、字幕、音频处理和后台渲染,并提供素材管理及丰富的导出预设。

    FastStone Capture Windows版
    FastStone Capture Windows版

    FastStone Capture Windows版是一款轻量级屏幕捕捉、录屏与图像编辑工具,可截取窗口、区域、菜单和滚动页面,并提供标注、模糊、取色、OCR、录音录像及多格式导出能力,适合办公说明、教程制作和问题反馈。

    Focusky Windows版
    Focusky Windows版

    Focusky Windows版是一款动画演示与交互课件制作工具,通过无限画布、缩放旋转镜头、模板素材和对象动画组织内容,可导入PPTX,并输出视频、EXE、PDF、网页等格式,适用于课堂教学、微课、商务汇报及产品展示。