这里为您提供几种在 CentOS 上安装 Python 2.7 的方法,从最推荐到最不推荐的顺序排列。

重要前提:检查系统自带的 Python 版本
在安装之前,请务必确认您的系统自带的 Python 版本。CentOS 7 和 CentOS 8/Stream 的系统核心组件(如 yum)依赖于系统自带的 Python 3 或 Python 2.6/2.7,切勿随意删除或替换!
- 对于 CentOS 7: 系统自带的是 Python 2.7.5,您可以直接使用,或者升级到 2.7.x 的更高版本。
- 对于 CentOS 8 / Stream: 系统自带的是 Python 3.x,如果您的软件依赖 Python 2.7,您需要额外安装。
检查当前 Python 版本:
python --version # 或者 python2 --version
使用 SCL (Software Collections) - 最推荐的方法
这是在 CentOS 7/8 上安装和管理不同版本 Python 的最佳实践,SCL 提供了不与系统核心软件冲突的独立软件包,并且可以轻松切换版本。
安装 SCL 仓库
如果您的系统尚未启用 SCL 仓库,请先安装它。

# 对于 CentOS 7 sudo yum install centos-release-scl # 对于 CentOS 8 / Stream sudo dnf install centos-release-scl
安装 Python 2.7
SCL 提供了 rh-python27 这个集合,里面包含了 Python 2.7 及其相关的工具(如 pip)。
# 使用 yum (CentOS 7) sudo yum install rh-python27 # 使用 dnf (CentOS 8 / Stream) sudo dnf install rh-python27
使用 Python 2.7
安装完成后,您不能直接通过 python2.7 命令使用它,因为它被隔离在 SCL 环境中,您需要使用 scl 命令来启用它。
-
临时启用(当前终端会话有效)
scl enable rh-python27 bash
执行后,您的当前终端会话中,
python和pip命令就会指向 Python 2.7 的版本。
(图片来源网络,侵删)python --version # Python 2.7.15 pip --version # pip 9.0.3 from /opt/rh/rh-python27/root/usr/lib/python2.7/site-packages/pip (python 2.7)
注意:这种方式只在当前终端窗口有效,关闭后即失效。
-
永久启用(为当前用户创建命令别名) 为了方便使用,可以为您的用户创建一个永久的命令别名。
echo 'source /opt/rh/rh-python27/enable' >> ~/.bashrc source ~/.bashrc
每次您打开新的终端时,都会自动启用 Python 2.7 环境,您可以直接使用
python和pip命令。 -
直接运行脚本 您也可以不切换环境,直接运行 Python 脚本:
/opt/rh/rh-python27/root/usr/bin/python your_script.py
使用 EPEL 仓库 - 简单直接
如果您只需要一个基本的 Python 2.7 环境,并且不介意它可能与系统工具产生潜在冲突,可以使用 EPEL (Extra Packages for Enterprise Linux) 仓库。
安装 EPEL 仓库
# 对于 CentOS 7 sudo yum install epel-release # 对于 CentOS 8 / Stream sudo dnf install epel-release
安装 Python 2.7
# 使用 yum (CentOS 7) sudo yum install python27 # 使用 dnf (CentOS 8 / Stream) sudo dnf install python27
安装 pip
EPEL 包通常不包含 pip,您需要单独安装。
# 使用 yum (CentOS 7) sudo yum install python27-pip # 使用 dnf (CentOS 8 / Stream) sudo dnf install python2-pip
使用
安装后,您可以直接使用 python2.7 和 pip2.7 命令。
python2.7 --version # Python 2.7.18 pip2.7 --version # pip 20.3.4 from /usr/lib/python2.7/site-packages/pip (python 2.7)
注意:这种方式安装的 Python 2.7 可能会与系统自带的 Python 2.7(在 CentOS 7 上)产生路径或库文件的冲突,请谨慎使用。
从源码编译安装 - 最灵活但最复杂
如果您需要一个非常特定版本的 Python 2.7,或者需要开启/关闭某些特定的编译选项,可以从源码编译安装,这种方法最灵活,但步骤最多,也最容易出错。
安装编译所需的依赖
sudo yum groupinstall "Development Tools" sudo yum install openssl-devel zlib-devel bzip2-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
下载 Python 2.7 源码
前往 Python 官方下载页面 获取最新的 2.7 版本源码包(2.7.18)。
wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz tar -xvf Python-2.7.18.tgz cd Python-2.7.18
配置和编译
# 配置安装路径,建议安装在 /usr/local/python2.7 ./configure --prefix=/usr/local/python2.7 # 编译 make # 安装 sudo make install
创建软链接(可选)
为了方便使用,可以创建全局软链接。
sudo ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python2.7 sudo ln -s /usr/local/python2.7/bin/pip2.7 /usr/bin/pip2.7
使用
python2.7 --version # Python 2.7.18
总结与建议
| 方法 | 优点 | 缺点 | 推荐场景 |
|---|---|---|---|
| SCL | 最安全,与系统隔离,不冲突;易于管理多个版本;pip 包含在内。 |
需要使用 scl enable 或修改配置文件才能使用。 |
所有 CentOS 7/8 用户的首选,尤其是生产环境。 |
| EPEL | 安装简单,直接使用 python2.7 命令。 |
可能与系统自带 Python 冲突;不包含 pip,需额外安装。 |
快速测试或开发环境,对系统稳定性要求不高时。 |
| 源码编译 | 灵活性最高,可定制所有选项。 | 安装复杂,耗时;容易出错;依赖多;手动管理 pip。 |
需要特定版本或特殊编译选项的高级用户。 |
强烈建议您使用方法一(SCL),因为它能最好地隔离 Python 环境,避免破坏您 CentOS 系统的稳定性。
