Linux下Python安装指南:Ubuntu与CentOS常用命令

巷口听风
巷口听风
发布时间:2026-11-07 | 9人浏览过
原创

针对Ubuntu与CentOS两大常见Linux发行版的Python安装实用教程,覆盖系统包管理器直接安装、多版本管理以及源码编译安装的常用命令与关键避坑指南。

在Linux系统中,安装和配置Python通常有两条路线:使用系统自带的包管理器直接安装,或者下载源码手动编译安装。本文分别梳理Ubuntu(基于Debian)和CentOS(基于RHEL)两大常见发行版下的核心安装命令,说明系统默认Python环境的保护机制,并演示如何正确配置多版本并存。

一、安装前的环境摸底与安装路径选择

绝大多数现代Linux发行版在初始化安装后,都自带了用于系统运维组件运行的Python环境。在执行任何安装命令之前,需要先确认当前系统是否已有Python以及其具体版本号。

终端中直接运行以下检测命令:

python3 --version
终端输出示例 Python 3.10.12

如果系统提示 command not found,说明当前环境未预装软链接,需要进一步检查安装路径。决定接下来如何安装的关键判断标准在于使用场景:

  • 系统工具依赖或日常脚本执行:优先选择系统的原生包管理器(Ubuntu使用 apt,CentOS使用 yum 或 dnf)。速度最快,依赖项自动解决,系统更新时能一并维护。
  • 需要特定次版本或定制底层模块(如最新版优化):选择源码编译安装。可以指定安装到独立路径,不污染操作系统自带的Python环境。
Linux下Python安装指南:Ubuntu与CentOS常用命令
图1:Linux系统下Python安装路径判断流程

二、Ubuntu环境下的常用安装命令

Ubuntu衍生自Debian,采用 apt 作为其核心包管理器。在Ubuntu中安装Python主要分为直接安装官方仓库版本与引入Deadsnakes PPA安装特定次版本两种方式。

1. 直接通过官方apt仓库安装

首先更新本地索引列表,随后安装 python3 核心以及包管理工具 python3-pip:

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

安装完成后,检查对应工具是否就绪:

python3 -V
pip3 -V
终端输出示例 Python 3.12.3
pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)

2. 使用 PPA 安装指定版本(例如需要特定开发版本)

当官方仓库提供的版本与项目要求不一致时,可以通过社区维护的 deadsnakes PPA源来安装指定小版本(以安装 Python 3.11 为例):

sudo apt install -y software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update
sudo apt install -y python3.11 python3.11-venv python3.11-dev

安装完成后,可以直接通过版本后缀命令调用:

python3.11 --version

三、CentOS环境下的常用安装命令

在CentOS环境(如CentOS 7、CentOS Stream 8/9,或其兼容下游Rocky Linux/AlmaLinux)中,系统很多核心底层工具(如 yum 本身)高度依赖系统自带的Python 2或早期Python 3。因此,在安装新版本时需格外注意不要覆盖系统既有解释器。

1. CentOS 7 通过 EPEL 或 Software Collections (SCL) 安装

CentOS 7的官方源默认携带较旧的Python版本。如果需要并存较新的Python,最稳妥的方式是启用EPEL或者SCL源:

# 安装 EPEL 扩展仓库
sudo yum install -y epel-release

# 直接安装 EPEL 中提供的 python3(通常为 Python 3.6 左右)
sudo yum install -y python3 python3-pip

若需要更高版本(如Python 3.8/3.9),推荐启用SCL机制,该机制将环境安装到 /opt/rh/ 目录下,完全与系统隔离:

# 安装 SCL 源支持
sudo yum install -y centos-release-scl

# 安装指定版本软件集(以 rh-python38 为例)
sudo yum install -y rh-python38

# 临时启用该环境(仅在当前终端会话生效)
scl enable rh-python38 bash

2. CentOS Stream 8/9 或 RHEL 8/9 常用命令

新版系统使用 dnf 管理包,Python以模块化方式提供,可以直接查看并切换模块流:

# 查看当前可用的 Python 模块版本
sudo dnf module list python3*

# 安装默认的 Python 3 运行时与包管理工具
sudo dnf install -y python3 python3-pip
Linux下Python安装指南:Ubuntu与CentOS常用命令
图2:Ubuntu与CentOS的包管理机制与存储结构差异

四、通用方案:源码编译安装(全平台适用)

当包管理器中的版本均不满足需求,或者需要完全自主控制编译选项时,直接从 Python 官方发布服务器下载源码进行构建是跨发行版的标准做法。

步骤一:安装构建编译所必须的基础工具与开发头文件

编译Python解释器需要C编译器以及各类基础库的头文件支持(如SSL、压缩、数据库支撑等)。如果缺失对应的依赖包,编译虽然可能成功,但生成的解释器在导入对应标准库(如 import ssl)时将直接报错。

在 Ubuntu 上执行:

sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev \
libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev \
libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev \
libffi-dev uuid-dev wget curl

在 CentOS 上执行:

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

步骤二:下载源码包、解压并配置编译参数

以源码编译 Python 3.11.8 为例,先下载官方源码包并解压:

cd /tmp
wget https://www.python.org/ftp/python/3.11.8/Python-3.11.8.tgz
tar -zxvf Python-3.11.8.tgz
cd Python-3.11.8

运行配置检查。此处建议添加 --enable-optimizations 参数以启用高级优化选项(虽然会增加编译时长,但能提升解释器运行速度),并通过 --prefix 指定独立安装路径:

./configure --enable-optimizations --prefix=/usr/local/python311

步骤三:编译并使用 altinstall 写入目标目录

这里必须使用 make altinstall 而不是传统的 make install。两者的核心区别在于:altinstall 会自动跳过创建名为 python 或 python3 的主二进制符号链接,从而避免覆盖系统现有的核心环境。

# 使用 nproc 查看当前可用 CPU 核心数进行并行编译
make -j $(nproc)
sudo make altinstall

步骤四:设置路径或软链接

编译完成后,为了在任意终端方便地调用该版本,可以将其二进制文件软链接至 /usr/local/bin:

sudo ln -s /usr/local/python311/bin/python3.11 /usr/local/bin/python3.11
sudo ln -s /usr/local/python311/bin/pip3.11 /usr/local/bin/pip3.11
Linux下Python安装指南:Ubuntu与CentOS常用命令
图3:源码安全编译与安装标准操作流

五、常见问题排查与关键注意事项

高危操作警告:绝对不要在系统中强行使用命令重定向 /usr/bin/python 指向其他非系统版本(例如 rm -f /usr/bin/python && ln -s ... /usr/bin/python)。在 Ubuntu 中可能破坏系统组件配置,在 CentOS 7 中会导致 yum 无法解析语法直接崩溃。

1. 为什么推荐隔离机制:使用 venv 虚拟环境

在较新的发行版中,全局通过 pip3 install 直接安装第三方模块可能会触发 error: externally-managed-environment 保护拦截。这是现代操作系统为了防止系统级依赖项被破坏而设置的策略。最标准的操作是在项目中使用内置的虚拟环境:

# 创建一个名为 myenv 的隔离环境
python3 -m venv myenv

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

# 此时提示符会发生变化,pip 安装仅作用于该环境
pip install requests

# 退出环境
deactivate

2. 常见核心命令速查表

操作目标 Ubuntu 命令 CentOS 命令
安装 Python 运行时 sudo apt install -y python3 sudo yum install -y python3
安装 Pip 包管理器 sudo apt install -y python3-pip sudo yum install -y python3-pip
安装开发依赖包头 sudo apt install -y python3-dev sudo yum install -y python3-devel
创建独立虚拟环境 python3 -m venv <env_name> python3 -m venv <env_name>
Linux下Python安装指南:Ubuntu与CentOS常用命令
图4:Linux下Python环境部署与维护核心原则

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表