Ubuntu/CentOS怎么通过命令行安装Python 3.7

Owen
Owen
发布时间:2026-11-13 | 2人浏览过
原创

详细介绍在Ubuntu与CentOS两大Linux发行版中,如何通过命令行安全规范地安装Python 3.7。涵盖Ubuntu基于PPA源的快速配置、CentOS源码编译与SCL安装实践、系统关键依赖防护、验证方法及多版本隔离方案。

在Linux服务器维护与遗留项目部署中,特定依赖往往需要使用Python 3.7版本。本文详细介绍在Ubuntu与CentOS两大典型Linux发行版中,通过命令行正确安装Python 3.7的完整流程,包括包管理器快捷安装、官方源码安全编译、多版本独立共存管理与关键避坑方法,确保在不破坏系统默认Python环境的前提下顺利完成部署。

一、技术选型与核心路径对比

在Linux系统中,系统自带的Python环境往往与包管理器(如Ubuntu的apt、CentOS的yum)深度绑定。直接替换系统默认解释器(如修改 /usr/bin/python 指向)极易导致系统级管理工具失效。因此,安装Python 3.7的核心原则是独立并行共存。

针对两大系统家族,推荐的命令行安装路径如下:

  • Ubuntu环境:首选官方社区维护的 deadsnakes PPA 仓库。该方案通过预编译二进制包直接分发,安装迅速,能够自动解析大部分动态链接依赖。
  • CentOS环境:CentOS 7官方源已不再收录较新的通用构建,推荐通过官方源码编译安装(make altinstall),该方式具备极高的通用性和环境隔离度;对于CentOS 7也可选用SCL(Software Collections)安装专有独立包。
Ubuntu/CentOS怎么通过命令行安装Python 3.7
图 1:Ubuntu 与 CentOS 两种发行版下的 Python 3.7 部署决策路线图

二、Ubuntu 命令行安装 Python 3.7 (APT 与 PPA)

在 Ubuntu 系统上,官方默认软件仓库因版本演进可能已将 Python 3.7 移出主流索引。社区中最稳定、最常用的方式是使用由 Ubuntu 核心团队成员维护的 deadsnakes PPA。

步骤 1:更新本地包索引并安装 PPA 工具支持

在终端中执行以下命令,确保系统基础工具完备并能够添加第三方软件仓库:

sudo apt update
sudo apt install -y software-properties-common

步骤 2:添加 deadsnakes PPA 软件源

执行命令导入软件源。该操作会自动下载并信任仓库的 GPG 密钥:

sudo add-apt-repository -y ppa:deadsnakes/ppa
sudo apt update

步骤 3:安装 Python 3.7 及其核心开发组件

在安装核心包的同时,强烈建议一并安装 python3.7-dev(提供编译扩展所需的头文件)以及 python3.7-venv(提供虚拟环境管理支持):

sudo apt install -y python3.7 python3.7-dev python3.7-venv

步骤 4:验证解释器版本

安装完成后,直接调用 python3.7 检查输出结果:

python3.7 --version
Python 3.7.17
Ubuntu/CentOS怎么通过命令行安装Python 3.7
图 2:Ubuntu 下通过 deadsnakes PPA 安装与校验的标准步骤

三、CentOS 命令行安装 Python 3.7 (源码编译实战)

CentOS 系统(尤其是广受使用的 CentOS 7 与 CentOS 8)通常默认预装 Python 2.7 或 Python 3.6,且系统的包管理器依赖该解释器。在 CentOS 上安装 Python 3.7 最稳妥、最透明的方法是从官方源码编译并使用 altinstall 规避覆盖。

步骤 1:安装底层开发工具包与核心依赖库

Python 编译过程依赖 C 语言编译器(GCC)以及特定扩展模块的底层头文件(如用于处理 HTTPS 请求的 OpenSSL、用于支持 _ctypes 模块的 libffi 等)。缺失这些库会导致安装后部分常用模块报错。

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

步骤 2:下载并解压 Python 3.7 官方源码包

从 Python 官方 FTP 镜像服务器下载 3.7 的稳定子版本(以 3.7.17 为例):

cd /usr/src
sudo wget https://www.python.org/ftp/python/3.7.17/Python-3.7.17.tgz
sudo tar -xzf Python-3.7.17.tgz
cd Python-3.7.17

步骤 3:配置编译选项并执行优化编译

运行 configure 脚本检测环境。加入 --enable-optimizations 选项可以开启 PGO(基于性能分析的优化)和 LTO,让 Python 运行速度提升约 10%:

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

步骤 4:核心执行——使用 altinstall 进行安全安装

⚠️ 关键技术警告:必须使用 altinstall

切勿执行 make install!执行 make install 会直接创建名为 python3 和 python 的软链接,从而覆盖系统原有的 Python 路径,瞬间破坏 yum 等系统级运维组件。使用 make altinstall 只会生成带版本号的 python3.7 二进制。

# 启动多核心编译并安全安装
sudo make -j$(nproc)
sudo make altinstall

步骤 5:验证 CentOS 上的安装成果

安装完成后,二进制默认保存在 /usr/local/bin/python3.7:

/usr/local/bin/python3.7 --version
Python 3.7.17
Ubuntu/CentOS怎么通过命令行安装Python 3.7
图 3:CentOS 源码编译安装流程及核心底层依赖拓扑关系

四、验证安装与环境隔离最佳实践

安装完成后,必须对执行文件路径、pip包管理器可用性进行核验,并掌握虚拟环境隔离的使用方法。

1. 路径与包管理工具核验

通过系统命令行依次检查可执行文件绝对路径及对应的包管理器:

# 检查可执行二进制路径
which python3.7

# 验证版本输出
python3.7 --version

# 验证配套 pip 是否就绪
python3.7 -m pip --version
/usr/local/bin/python3.7 Python 3.7.17 pip 23.0.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

如果输出中提示 No module named pip,可以通过 Python 内置的 ensurepip 模块一键补齐:

sudo python3.7 -m ensurepip --default-pip
sudo python3.7 -m pip install --upgrade pip

2. 使用 venv 创建专属隔离环境

在实际生产部署中,不建议直接向全局 site-packages 安装三方库。为具体业务创建基于 Python 3.7 的独立虚拟环境,不仅能隔离项目依赖,还能完全规避对系统其他组件的干扰:

# 进入工程目录
mkdir -p /opt/myproject && cd /opt/myproject

# 创建基于 Python 3.7 的独立虚拟环境
python3.7 -m venv venv37

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

# 激活后终端前缀将显示 (venv37),此时 python 与 pip 均指向该隔离环境
python -V
pip -V
(venv37) [root@server myproject]# python -V Python 3.7.17 (venv37) [root@server myproject]# which pip /opt/myproject/venv37/bin/pip
Ubuntu/CentOS怎么通过命令行安装Python 3.7
图 4:系统底层运行依赖保护与 Python 3.7 多版本共存隔离模型

五、常见问题排查与避坑指南

故障现象 / 报错信息 根本原因 命令行排查与修复方案
ModuleNotFoundError: No module named '_ctypes' 编译时缺少外部函数接口核心库 libffi-devel。 在 CentOS 下执行 sudo yum install -y libffi-devel(Ubuntu 下为 sudo apt install -y libffi-dev),然后回到源码目录重新执行 make && sudo make altinstall。
pip is configured with locations that require TLS/SSL... 编译环境未找到满足版本要求的 OpenSSL 头文件。 安装 openssl-devel 并在执行 ./configure 时通过 --with-openssl=/usr 明确声明 OpenSSL 安装路径,重新编译生成解释器。
执行 yum 报错 SyntaxError: invalid syntax 误将 /usr/bin/python 指向了 Python 3。 查看 /usr/bin/yum 首行指定的解释器,恢复 /usr/bin/python 的软链接指向原生版本(例如指向 /usr/bin/python2.7)。
Ubuntu 添加 PPA 时提示 add-apt-repository: command not found 系统精简安装导致缺少通用软件属性扩展。 执行 sudo apt update && sudo apt install -y software-properties-common 补齐管理命令。
相关专题:

本站声明

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

Python 相关产品和应用

全部下载

专题列表