Linux (Ubuntu/CentOS) 使用包管理器安装 Python 3 教程
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 开发环境安全地载入系统路径,而非覆盖或破坏操作系统内置的基础运行时。
二、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
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
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
三、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
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
python3.x86_64 0:3.6.8-19.el7 python3-pip.noarch 0:9.0.3-8.el7
Complete!
四、容易混淆的认知误区与避坑辨析
在 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
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 服务器上使用包管理器安装 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 |
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









