Linux系统通过apt或yum包管理器安装Python指南

南乔
南乔
发布时间:2026-11-04| 4人浏览过
原创

在主流Linux系统上,使用官方包管理器apt或yum/dnf安装Python是最稳妥可靠的方式。本文提供Debian/Ubuntu与RHEL/CentOS体系下的安装步骤、环境检验、pip与venv配置方法,并深入解析常见认知误区与系统环境隔离规范。

Linux系统通过apt或yum包管理器安装Python指南
在主流 Linux 发行版上部署 Python,优先通过系统原生包管理器(Debian/Ubuntu 体系采用 apt,RHEL/CentOS/Rocky 体系采用 yum 或 dnf)安装是最稳妥、快捷且易于维护的方式。系统包管理器不仅能够自动解决 C 运行时库等底层依赖,还能由发行版安全团队统一推送安全补丁。本文详细梳理两大主流体系的完整安装步骤、验证方法及避坑准则,帮助读者搭建可靠可控的 Python 运行环境。

一、判断当前系统发行版与包管理器

Linux 发行版主要划分为 Debian 衍生分支与 Red Hat 衍生分支,两者所使用的软件源格式与包管理程序不同。在动手执行安装前,第一步应确认当前服务器或宿主机的系统家族。

通过读取系统发布描述文件,可以精准判断系统属性:

输入命令
cat /etc/os-release
示例输出
NAME="Ubuntu" VERSION="22.04.4 LTS (Jammy Jellyfish)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 22.04.4 LTS"

识别规则非常明确:如果输出中的 ID 或 ID_LIKE 包含 debian 或 ubuntu,请遵循后文的 apt 操作流程;如果包含 rhel、centos、rocky、fedora 或 alma,则遵循后文的 yum/dnf 操作流程。

Linux系统通过apt或yum包管理器安装Python指南
图1:Linux 发行版识别与包管理器分支路线图

二、在 Debian / Ubuntu 体系使用 apt 安装 Python

Debian 与 Ubuntu 官方仓库对 Python 进行了模块化拆分。基础的 python3 软件包仅包含核心解释器和最小标准库,而包管理工具 pip 和轻量虚拟环境模块 venv 需要作为独立软件包补充安装。

1. 刷新软件源索引缓存

在安装软件前,必须先更新本地缓存的包索引数据,以保证从官方镜像拉取到最新的可用版本信息与正确的依赖校验哈希:

输入命令
sudo apt update

2. 安装 Python 3、pip 与 venv 工具

推荐将解释器与其配套的工程组件一次性完整安装,避免后续创建虚拟环境时缺少模块:

输入命令
sudo apt install -y python3 python3-pip python3-venv
关键细节提醒
若只执行了 apt install python3,后续在执行 python3 -m venv .venv 时系统会提示 The virtual environment was not created successfully because ensurepip is not available。这是因为 Debian 策略中将标准库内的 ensurepip 移入了独立的 python3-venv 包,因此必须显式安装该包。

3. 验证安装结果

安装完毕后,分别检查 Python 与 pip 的版本和可执行文件落地位点:

输入命令
python3 --version
pip3 --version
示例输出
Python 3.10.12 pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
Linux系统通过apt或yum包管理器安装Python指南
图2:Debian / Ubuntu 体系下 apt 安装 Python 3 标准流程

三、在 RHEL / CentOS / Rocky 体系使用 yum 或 dnf 安装 Python

在 Red Hat 企业体系中,CentOS 7 默认使用 yum,而 CentOS 8、RHEL 8/9、Rocky Linux 及 Fedora 已经全线升级为新一代包管理工具 dnf。较新系统中即使键入 yum,底层实际也是调用兼容软链接指向的 dnf 引擎。

1. 配置或检查扩展仓库(EPEL)

系统基础仓库(BaseOS / AppStream)已内置稳定版 Python 解释器。如果后续需要安装某些扩展 C 扩展库或开发依赖,建议提前启用企业版附加包(EPEL)仓库:

输入命令 (RHEL 8/9、Rocky Linux、CentOS Stream)
sudo dnf install -y epel-release
输入命令 (CentOS 7)
sudo yum install -y epel-release

2. 执行 Python 3 与 pip 安装

执行以下指令安装 Python 3 运行时及 pip 依赖管理器。如果后续需要编译安装带有 C 语言扩展的 Python 包(例如某些加解密库或高性能数据分析库),建议同时带上 python3-devel:

输入命令 (dnf 环境)
sudo dnf install -y python3 python3-pip python3-devel
输入命令 (yum 环境)
sudo yum install -y python3 python3-pip python3-devel

3. 验证安装结果

检查系统环境中的解释器与 pip 状态:

输入命令
python3 --version
pip3 --version
示例输出
Python 3.9.18 pip 21.2.3 from /usr/lib/python3.9/site-packages/pip (python 3.9)
Linux系统通过apt或yum包管理器安装Python指南
图3:RHEL / CentOS / Rocky 体系中 YUM 与 DNF 软件流解析

四、常见认知误区与环境治理准则

包管理器安装虽然简捷,但在实际开发和运维中,常有初学者因概念混淆而引发系统故障。以下三项误区与规范需格外重视:

1. 辨析:为什么不能输入 python,必须输入 python3?

常见误区:“安装了 Python 之后,终端里敲 python 就应该能运行,提示未找到命令说明没装好。”

原理与规范:根据 Python 官方的 PEP 394 规范,python 命令长期指向 Python 2。为了防止系统上尚存的历史脚本在 Python 3 环境下因语法不兼容而异常崩溃,现代 Linux 发行版刻意不默认创建名为 python 的通用软链接。

正确做法:在交互终端和 Shell 脚本中,一律明确使用 python3 与 pip3。如果确实希望让 python 默认指向 Python 3:

  • 在 Ubuntu / Debian 上,推荐通过官方包建立安全别名:sudo apt install python-is-python3
  • 在 RHEL / Rocky 上,可使用系统工具配置:sudo alternatives --set python /usr/bin/python3

2. 严禁:手动修改或覆盖系统级 /usr/bin/python3

危险操作:为了追求更新的 Python 版本,有些用户会自行编译一个 Python,然后使用 ln -sf 强行将 /usr/bin/python3 覆盖为自定义路径。

为何导致系统瘫痪:在 Linux 系统内部,包管理器(如 yum、dnf)、网络防火墙服务(firewalld)以及云主机初始化组件(cloud-init)均使用 Python 编写,且强依赖于系统发行版自带的特定 Python 版本和底层 C 绑定模块。一旦强行替换该路径,将直接导致包管理器崩溃,甚至致使服务器无法正常联网或重启。

3. 规范:理解 PEP 668 与虚拟环境隔离

在现代系统(如 Ubuntu 23.04+、Debian 12+、Fedora 38+)中,若直接在终端执行 pip3 install <package>,系统会弹出如下提示:

error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages in this system, try creating a virtual environment using 'python3 -m venv path/to/venv'.

产生原因:这是 Python 社区与各 Linux 发行版联合推行的 PEP 668 防护机制。系统通过在模块目录中放置 EXTERNALLY-MANAGED 文件,防止全局 pip 随意覆盖系统 APT/YUM 维护的文件,避免依赖版本踩踏。

规范解决路径:绝不建议使用 --break-system-packages 强行越权,而是应当为具体的应用项目建立隔离的虚拟环境:

规范化操作流程
# 1. 切换至项目所在目录并创建独立虚拟环境
python3 -m venv myenv

# 2. 激活虚拟环境
source myenv/bin/activate

# 3. 此时可在虚拟环境中安全自由地安装所需扩展库
(myenv) pip install requests flask numpy

# 4. 开发或运行完成后退出虚拟环境
(myenv) deactivate
Linux系统通过apt或yum包管理器安装Python指南
图4:系统底层 Python 与应用虚拟环境隔离规范 (PEP 668)

五、apt 与 yum/dnf 常用操作速查表

两类包管理系统在日常管理 Python 运行环境时的常用操作对比如下:

运维操作 Debian / Ubuntu (apt) RHEL / CentOS / Rocky (yum / dnf)
更新软件索引 sudo apt update sudo dnf check-update / yum check-update
安装核心运行时 sudo apt install python3 sudo dnf install python3 / yum install python3
安装包管理器 pip sudo apt install python3-pip sudo dnf install python3-pip
安装虚拟环境组件 sudo apt install python3-venv 已集成于核心运行时包中
安装 C 扩展编译头 sudo apt install python3-dev sudo dnf install python3-devel
检索可用相关包 apt-cache search python3- dnf search python3 / yum search python3
验证默认版本 python3 --version python3 --version

通过包管理器安装是保持 Linux 宿主机基础环境纯净与稳定的最佳实践。在实际业务交付中,将系统解释器仅作为基础底座,所有业务代码和三方库均交由 venv 虚拟环境托管,是确保系统长周期稳定运行的标准规范。

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

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 算法库。