Linux (Ubuntu/CentOS) 使用包管理器安装 Python 3 教程

Elena
Elena
发布时间:2026-10-24| 6人浏览过
原创
在 Linux 服务器与开发环境中,使用系统原生包管理器安装 Python 3 是保证环境稳定、依赖安全且易于后续升级维护的标准做法。在 Ubuntu 系统上,主流通过 APT 工具链获取 python3 及其配套扩展;在 CentOS 或 RHEL 兼容发行版上,则根据版本选择 YUM 或 DNF 工具链进行安装。本文将以分发体系为线索,详细梳理两大发行版下完整的安装步骤、包名映射、配置验证及避坑规范。

一、两大 Linux 发行版包管理体系与 Python 3 规划

Linux 各大主流发行版对底层核心工具与脚本生态的维护机制各不相同。Ubuntu 归属于 Debian 生态,软件更新节奏较快,官方默认仓库中通常直接收录了当下受支持的 Python 3 稳定分支;而 CentOS 作为企业级 RHEL 的衍生系统,优先保障系统长期稳定性,系统基础仓库往往对主版本进行冻结,用户往往需要借由 AppStream 模块流或 EPEL (Extra Packages for Enterprise Linux) 扩展源来获取所需的 Python 3 环境。

值得注意的是,Linux 发行版本身的大量系统运维工具(如 Ubuntu 的 cloud-init、CentOS 的 yum/dnf 管理器自身)高度依赖操作系统预装的默认 Python 解释器。因此,通过包管理器安装 Python 3 时,目标是将现代 Python 开发环境安全地载入系统路径,而非覆盖或破坏操作系统内置的基础运行时。

Linux (Ubuntu/CentOS) 使用包管理器安装 Python 3 教程
图 1:Linux 两大主流发行版包管理器核心组件与对应关系

二、Ubuntu 系统使用 APT 安装 Python 3

在 Ubuntu 环境下(包括 Ubuntu 20.04 LTS、22.04 LTS 及 24.04 LTS 等当前常见版本),官方仓库对 Python 3 的模块拆分非常细致。与 Windows 或 macOS 上的单体安装包不同,Debian/Ubuntu 官方将解释器核心、pip 工具以及标准虚拟环境库 venv 拆解成了独立的二进制包。如果仅执行 apt install python3,后续在使用 python3 -m venv 时往往会收到缺少模块的提示。因此,推荐一次性安装完整套件。

步骤 1:同步远程包索引

在安装任何新软件包前,首先更新本地缓存的包索引,以确保拉取到当前版本系统已适配的最新小版本安全更新。

sudo apt update
终端示例输出
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [115 kB]
Get:3 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Reading package lists... Done
Building dependency tree... Done

步骤 2:安装 Python 3 解释器及必备扩展

执行安装命令,将解释器核心、包管理器 pip、虚拟环境模块 venv 以及编译 C 拓展所需的头文件开发包 dev 一并引入:

sudo apt install -y python3 python3-pip python3-venv python3-dev

步骤 3:验证解释器与 pip 状态

安装完成后,检查系统执行路径中登记的 Python 3 与 pip 对应版本号:

python3 --version
pip3 --version
终端示例输出
Python 3.10.12
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
Linux (Ubuntu/CentOS) 使用包管理器安装 Python 3 教程
图 2:Ubuntu (APT) 官方包管理器安装与标准工作流展开步骤

三、CentOS 系统使用 YUM / DNF 安装 Python 3

在 CentOS 及衍生发行版(如 Rocky Linux、AlmaLinux)中,包管理器的演进使得安装策略分为两大分支:CentOS 7 采用传统的 YUM 包管理器,而 CentOS 8、CentOS Stream 及 9 系列则全面转向 DNF 包管理器并引入模块流(AppStream)。

1. CentOS 8 / CentOS Stream / Rocky / AlmaLinux 安装

在较新的 CentOS 8 或 CentOS Stream 系统中,官方软件库已将 Python 3 作为一等公民集成。直接使用 dnf 命令即可完成标准安装:

sudo dnf update -y
sudo dnf install -y python3 python3-pip python3-devel
终端示例输出
Package python36-3.6.8-38.module_el8.5.0+895+a305c086.x86_64 is already installed.
Installed: python3-pip-9.0.3-22.el8.noarch, python3-devel-3.6.8-38.el8.x86_64
Complete!

2. CentOS 7 传统系统安装与 EPEL 源适配

CentOS 7 官方镜像默认深度绑定了 Python 2.7 作为底层脚本运行工具。其官方基础源(Base)中最初并未提供单独命名的 python3。若要在 CentOS 7 上安装稳定版 Python 3,需要先启用 EPEL 扩展软件仓库:

# 启用 EPEL (企业级 Linux 附加软件包) 源
sudo yum install -y epel-release

# 刷新缓存并安装 Python 3
sudo yum install -y python3 python3-pip python3-devel
终端示例输出
Installed:
  python3.x86_64 0:3.6.8-19.el7    python3-pip.noarch 0:9.0.3-8.el7
Complete!
Linux (Ubuntu/CentOS) 使用包管理器安装 Python 3 教程
图 3:CentOS 系统版本差异与对应包管理器安装决策流程

四、容易混淆的认知误区与避坑辨析

在 Linux 系统管理中,关于 Python 安装和配置存在几个流传甚广但在生产中极易引发故障的做法。理解这些做法的局限性是保障系统长期稳定的关键。

误区一:“安装完 Python 3 后,把 /usr/bin/python 软链接改为 python3”

原因解析:许多新手希望在终端直接输入 python 即可调用 Python 3,因而执行类似 ln -sf /usr/bin/python3 /usr/bin/python 的操作。
潜在风险:在 CentOS 7 及较早的 Linux 系统中,核心工具(例如 yum、firewalld、urlgrabber)的源码脚本是以 Python 2 编写的,脚本头部指定的是 #!/usr/bin/python。一旦将该软链接强制切换至 Python 3,会导致 yum 运行时报 SyntaxError: invalid syntax,直接导致服务器无法继续使用包管理器。
正确规范:在现代 Linux 环境中,系统级默认保持 python3 显式调用。若个人操作习惯需要简写,应在用户个人的 ~/.bashrc 中添加 alias 别名(如 alias python=python3),或者激活特定虚拟环境,绝不在系统全局目录覆写该软链接。

误区二:“全局直接执行 sudo pip3 install 安装三方库”

原因解析:读者习惯性地以 root 权限向全局 Python 目录写入包,以便所有用户都能直接导入。
潜在风险:系统原生安装包管理器(APT / YUM)所维护的系统模块与 pip 下载安装的 wheel 模块共享部分底层目录。使用 sudo pip3 install 会绕过 Linux 包数据库的校验机制,覆盖由系统包管理器分发的标准库或重要依赖,极易引发依赖冲突,导致系统组件甚至桌面环境失效。为此,Debian/Ubuntu 新版本已经根据 PEP 668 正式加入了“外部管理环境”保护锁。
正确规范:凡是业务项目、日常数据分析或第三方开发,均一律在隔离的虚拟环境(venv)中执行 pip 安装。

五、安装后验证与标准虚拟环境部署

完成包管理器安装后,应按照标准化流水线验证解释器完整性,并为接下来的代码运行建立隔离环境。

1. 完整性检查清单

在终端依次验证解释器路径与版本:

which python3
python3 --version
which pip3
pip3 --version
终端示例输出
/usr/bin/python3
Python 3.10.12
/usr/bin/pip3
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)

2. 创建并激活项目虚拟环境

在应用部署目录或用户家目录下,使用内置的 venv 模块初始化独立隔离环境:

# 创建一个名为 myproject_env 的隔离沙箱
python3 -m venv myproject_env

# 激活虚拟环境
source myproject_env/bin/activate

# 此时提示符前缀会显示 (myproject_env)
# 在虚拟环境中,python 和 pip 自然指向沙箱内部,无需加 sudo
pip install --upgrade pip
python -V
Linux (Ubuntu/CentOS) 使用包管理器安装 Python 3 教程
图 4:系统 Python 受保护区与用户工程虚拟环境隔离机制总结

六、全文总结与日常速查表

在 Linux 服务器上使用包管理器安装 Python 3 是运维与开发协作的基础操作。总结而言:

  • 在 Ubuntu / Debian 环境下,通过 sudo apt update 刷新后,安装 python3 python3-pip python3-venv python3-dev 四大件以确保模块完整。
  • 在 CentOS 8 / Stream 环境下,直接使用 sudo dnf install python3 python3-pip python3-devel。
  • 在 CentOS 7 环境下,必须先执行 sudo yum install epel-release 启用 EPEL 仓库,再安装 python3 python3-pip。
  • 恪守“绝不覆写系统 /usr/bin/python 软链接”与“业务开发全部使用 venv 隔离”两条核心准则,即可从根本上杜绝绝大多数 Linux 环境下的 Python 依赖故障。
发行版平台 包管理器 前置准备 核心安装命令 推荐模块隔离机制
Ubuntu 20.04/22.04/24.04 APT sudo apt update sudo apt install python3 python3-pip python3-venv python3 -m venv myenv
CentOS 8 / Stream / Rocky DNF sudo dnf update sudo dnf install python3 python3-pip python3-devel python3 -m venv myenv
CentOS 7 YUM sudo yum install epel-release sudo yum install python3 python3-pip python3-devel python3 -m venv myenv

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。