Linux系统(Ubuntu/CentOS)命令行安装Python指令大全

一颗松果
一颗松果
发布时间:2026-11-01| 6人浏览过
原创

全面解析在Ubuntu与CentOS Linux系统中通过命令行安装Python的指令与操作方法。涵盖系统包管理器安装、第三方扩展源、源码编译安全隔离及多版本管理避坑实践。

在 Linux 运维与开发工作中,安装与管理 Python 环境是最基础也最容易踩坑的环节。很多用户习惯在终端直接通过包管理器安装,却发现发行版自带的版本偏旧;而盲目覆盖系统原生的 python3 又会导致 Ubuntu 的 apt 或 CentOS 的 yum 基础命令崩溃。本文围绕 Ubuntu 与 CentOS 两大主流 Linux 发行版,完整整理从系统包管理器快速安装、扩展源获取指定版本,到源码编译安全隔离部署的全部命令行指令与实操要点。

Linux系统(Ubuntu/CentOS)命令行安装Python指令大全
图 1:Linux 平台 Python 安装路径决策与适用场景

一、Ubuntu 命令行安装 Python

Ubuntu 系统对 Python 支持相对友好,官方源维护更新及时。在安装前,建议首先核验当前系统自带的 Python 版本信息:

python3 --version

1. 官方仓库直接安装默认版本

在 Ubuntu 20.04、22.04 或 24.04 中,可以通过 apt 快速安装官方维护的稳定版本,同时安装配套的包管理器 pip 与虚拟环境模块 venv:

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

执行完成后,使用以下指令检验对应工具链是否完备:

python3 -V
pip3 -V

2. 利用 deadsnakes PPA 安装指定版本

如果官方仓库中的版本无法满足软件运行库的要求,Ubuntu 社区广泛采用经过认证的 deadsnakes PPA 仓库来获取更新或特定版本(例如 Python 3.11 或 3.12),而无需手动编译:

# 1. 安装管理 PPA 所需的基础工具
sudo apt update
sudo apt install -y software-properties-common

# 2. 添加 deadsnakes PPA 软件源
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update

# 3. 安装特定版本 Python 及其开发组件
sudo apt install -y python3.11 python3.11-venv python3.11-dev

安装完成后,系统内会保留原生 python3,并同时存在独立可调用的 python3.11 命令,两者互不冲突。

二、CentOS 命令行安装 Python

CentOS(特别是 CentOS 7 与 CentOS 8 / Stream)对系统底层工具绑定较深。CentOS 7 原生依赖 Python 2.7 维持 yum 运行,CentOS 8 依赖底层 Python 3.6 维系 dnf 运行。因此在此类系统中操作必须尤为谨慎。

1. CentOS 7 通过 EPEL 与 SCL 安装

在 CentOS 7 官方基础源中,直接安装 Python 3 仅需启用 EPEL 源:

# 启用 EPEL 扩展仓库
sudo yum install -y epel-release
sudo yum check-update

# 安装 Python 3 (通常为 3.6 版本) 及 pip
sudo yum install -y python3 python3-pip python3-devel

如果业务需要 Python 3.8 等更高版本,推荐使用 Software Collections (SCL) 方案,它可以在 /opt/rh 独立目录下安全运行高版本环境:

# 安装 SCL 工具包
sudo yum install -y centos-release-scl

# 安装目标版本 (以 Python 3.8 为例)
sudo yum install -y rh-python38

# 激活临时环境变量并测试
scl enable rh-python38 bash
python --version

2. CentOS 8 / Stream / Rocky Linux (通过 DNF 模块流)

在采用 DNF 管理的 CentOS 8 或 Rocky Linux / AlmaLinux 中,系统引入了模块流(AppStream),允许在保留系统默认解释器的同时,按模块切换并安装更高版本的应用流:

# 检查可用的 Python 模块流
sudo dnf module list python3*

# 安装特定版本的 Python 模块 (例如 Python 3.9)
sudo dnf module install -y python39

# 或者直接按包名安装
sudo dnf install -y python39 python39-devel python39-pip
Linux系统(Ubuntu/CentOS)命令行安装Python指令大全
图 2:包管理器安装流程与必备开发扩展组件

三、通用方案:源码编译安全安装(精准控制与隔离)

当服务器无法连接外部第三方 PPA 源,或者生产环境需要特定微版本号并开启性能优化(如 PGO、LTO)时,源码编译是最纯粹可控的方案。为了不破坏操作系统的默认运行环境,源码安装务必遵守“独立目录配置”与“altinstall 编译写入”两大原则。

1. 安装底层编译依赖

Python 解释器由 C 语言写成,编译过程需要大量的开发头文件。如果依赖缺失,编译能够成功结束,但后续使用时会报错提示缺少 _ssl 或 _ctypes。请根据操作系统执行以下指令:

Ubuntu / Debian 环境:

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

CentOS / RHEL 环境:

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

2. 下载官方源码与解压

进入 /usr/local/src 或临时目录,从 Python 官方 FTP 下载目标版本的源码归档文件:

cd /usr/local/src
# 以 Python 3.11.9 为例
sudo wget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tgz
sudo tar -zxvf Python-3.11.9.tgz
cd Python-3.11.9

3. 配置编译参数与目录隔离

执行 configure 时,通过 --prefix 指定独立隔离的安装目录,通过 --enable-optimizations 开启 Profile Guided Optimization (PGO) 性能优化:

./configure --enable-optimizations --prefix=/usr/local/python3.11

4. 编译与安全写入(强调 altinstall)

在执行最终安装时,绝对不能使用 make install,而必须使用 make altinstall。make install 会自动创建名为 python3 的软链接覆盖系统路径,直接导致系统原生软件包管理工具报废;而 make altinstall 会在目标目录中仅生成带版本号的二进制文件(例如 python3.11),确保系统绝对安全。

# 利用多核加速编译 (-j 参数传入 CPU 核心数)
make -j $(nproc)

# 使用 altinstall 安全写入
sudo make altinstall

5. 建立全局可执行软链接

编译完成后,二进制可执行文件位于 /usr/local/python3.11/bin/。为了让全局终端直接使用 python3.11 指令,将其软链接至 /usr/local/bin(系统默认 PATH 路径):

sudo ln -s /usr/local/python3.11/bin/python3.11 /usr/local/bin/python3.11
sudo ln -s /usr/local/python3.11/bin/pip3.11 /usr/local/bin/pip3.11

最后执行版本命令验证安装结果:

python3.11 --version
pip3.11 --version
Linux系统(Ubuntu/CentOS)命令行安装Python指令大全
图 3:系统基础环境与自主编译环境的隔离架构设计

四、多版本共存与隔离使用最佳实践

当系统内同时存在多个 Python 版本时,随意切换默认全局符号链接可能带来不可预知的服务故障。更合理的工程实践是使用环境切换工具或项目级虚拟环境。

1. 使用 update-alternatives 管理 CLI 默认值

在 Debian/Ubuntu 及其衍生系统中,可以使用系统推荐的 alternatives 机制统一管理多版本切换优先级:

# 注册已有版本并设置优先级 (数值越大优先级越高)
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.11 2

# 手动交互式选择默认版本
sudo update-alternatives --config python3

注意:如果切换后发现系统基础指令(如 gnome-terminal 或 apt 脚本)报错,请重新执行上述命令切回原生默认版本。针对业务开发,最推荐的方式是直接通过具体的版本号命令或者创建虚拟环境。

2. 利用 venv 创建项目隔离环境

无论采用何种方式安装了 Python,在开展具体开发任务时,强烈推荐使用对应的 Python 解释器建立独立的虚拟环境:

# 使用指定版本创建虚拟环境 (例如 Python 3.11)
python3.11 -m venv ~/envs/myproject

# 激活虚拟环境
source ~/envs/myproject/bin/activate

# 此时在环境中,python 与 pip 命令已自动绑定该特定版本
python -V
pip install --upgrade pip

# 退出虚拟环境
deactivate

五、常见报错原因与排障指令

在 Linux 命令行安装和编译 Python 过程中,最容易出现的几类典型报错及其排查修复方法如下:

  • 报错一:No module named '_ssl' 或 pip is configured with locations that require TLS/SSL
    原因分析:在执行源码 ./configure 时,系统未安装 OpenSSL 开发头文件,导致 Python 无法编译内置的 ssl 模块。
    解决指令:安装 libssl-dev(Ubuntu)或 openssl-devel(CentOS),然后回到 Python 源码目录重新执行 ./configure、make 和 make altinstall。
  • 报错二:ModuleNotFoundError: No module named '_ctypes'
    原因分析:Python 3.7 及以上版本对外部函数接口(FFI)有严格依赖,编译期未检测到 libffi。
    解决指令:Ubuntu 执行 sudo apt install libffi-dev;CentOS 执行 sudo yum install libffi-devel,随后重新编译安装。
  • 报错三:CentOS 升级 Python 后 yum 无法使用
    原因分析:误将 /usr/bin/python 软链指向了 Python 3,而 CentOS 7 的 yum 由 Python 2 编写。
    解决指令:修改 /usr/bin/yum 和 /usr/libexec/urlgrabber-ext-down 文件的首行,将 #!/usr/bin/python 明确修改为 #!/usr/bin/python2 或 #!/usr/bin/python2.7。
Linux系统(Ubuntu/CentOS)命令行安装Python指令大全
图 4:Ubuntu 与 CentOS 核心命令与配置速查卡

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

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