请先确认你的需求

在开始安装之前,请务必问自己:我为什么需要 Python 2.7?
- 如果是学习历史项目或维护旧系统:Python 2.7 已经在 2025 年 1 月 1 日停止官方支持,这意味着它不再接收安全更新,也不再修复 Bug,使用它存在安全风险。
- 如果是为了运行某个特定工具:有些工具可能仍然依赖 Python 2.7,在这种情况下,最佳实践是将其隔离在虚拟环境中,避免污染系统环境。
基于以上前提,我推荐以下几种安装方式,从最推荐到最不推荐排序。
使用系统包管理器 (推荐,用于维护旧项目)
这是最直接、最简单的方法,适用于大多数主流的 Linux 发行版(如 Ubuntu, Debian, CentOS, RHEL 等),它会将 Python 2.7 作为系统的一部分进行安装和管理。
基于 Debian/Ubuntu 的系统 (使用 apt)
打开终端,执行以下命令:

# 更新软件包列表 sudo apt-get update # 安装 Python 2.7 和其核心开发工具包 sudo apt-get install python2.7 python2.7-dev
python2.7: Python 2.7 的解释器。python2.7-dev: 包含了开发 Python 扩展所需的头文件和库,如果你需要用 C/C++ 为 Python 2.7 编写模块,这个包是必需的。
验证安装:
python2.7 --version # 应该输出: Python 2.7.x (具体版本号取决于你的系统)
基于 Red Hat/CentOS/Fedora 的系统 (使用 yum 或 dnf)
对于较新的系统(如 CentOS 8+, Fedora),使用 dnf,对于较旧的系统(如 CentOS 7),使用 yum。
# 对于 CentOS 8+, Fedora sudo dnf install python2 python2-devel # 对于 CentOS 7 sudo yum install python2 python2-devel
验证安装:
python2 --version # 应该输出: Python 2.7.x
使用 pyenv (强烈推荐,用于开发和学习)
pyenv 是一个极其强大的 Python 版本管理工具,它可以让你在同一台机器上轻松安装和管理多个 Python 版本(包括 2.7, 3.x 等),并且可以轻松地在项目之间切换 Python 版本,这是现代 Python 开发的最佳实践。
安装 pyenv
你需要安装 pyenv 的依赖项。
对于 Debian/Ubuntu:
sudo apt-get update sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
对于 Red Hat/CentOS/Fedora:
# 对于 CentOS 7 sudo yum install -y gcc make openssl-devel bzip2-devel libffi-devel zlib-devel xz-devel # 对于 CentOS 8+ sudo dnf install -y gcc make openssl-devel bzip2-devel libffi-devel zlib-devel xz-devel
使用官方安装脚本安装 pyenv:
curl https://pyenv.run | bash
配置 Shell 环境
安装完成后,你需要将 pyenv 添加到你的 Shell 配置文件中(如 ~/.bashrc, ~/.zshrc)。
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc
重新加载配置文件使其生效:
# 对于 bash source ~/.bashrc # 对于 zsh source ~/.zshrc
使用 pyenv 安装 Python 2.7
你可以用 pyenv 安装 Python 2.7 了。
# 查找可安装的 Python 2.7 版本 pyenv install --list | grep " 2.7" # 安装一个特定的 2.7 版本,2.7.18 pyenv install 2.7.18
安装过程可能需要几分钟,因为它会从源码编译 Python。
使用 Python 2.7
安装完成后,你可以全局设置或为单个项目设置 Python 版本。
全局设置(不推荐,可能会影响系统工具):
pyenv global 2.7.18
为当前项目设置(推荐):
# 进入你的项目目录 cd /path/to/your/project # 设置当前项目使用的 Python 版本 pyenv local 2.7.18 # 验证 python --version # 输出: Python 2.7.18
优势:
- 隔离性:不会影响系统自带的 Python。
- 灵活性:可以随时切换不同版本的 Python。
- 可重复性:可以轻松地在团队中同步开发环境。
从源码编译安装 (不推荐,除非有特殊需求)
这种方法最复杂,通常只在系统包管理器提供的版本过旧,或者你需要对 Python 进行特殊定制时才使用。
安装编译依赖
这和 pyenv 的依赖安装步骤类似。
对于 Debian/Ubuntu:
sudo apt-get install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev
对于 Red Hat/CentOS:
sudo yum groupinstall -y "Development Tools" sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel gdbm-devel readline-devel sqlite-devel xz-devel libffi-devel
下载并编译 Python 2.7
# 创建一个临时目录 cd /tmp 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 # 配置编译选项 ./configure --enable-optimizations # 编译和安装 (make -j 可以加快编译速度) make -j$(nproc) sudo make altinstall
注意: 这里我们使用 make altinstall 而不是 make install。altinstall 会将可执行文件命名为 python2.7,避免覆盖系统可能存在的 python 或 python3 命令,这是一个更安全的选择。
验证安装
python2.7 --version # 应该输出: Python 2.7.18
总结与建议
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 系统包管理器 | 简单快速,由系统维护 | 可能版本过旧,与系统环境耦合 | 快速在服务器上维护一个旧项目,不推荐用于开发。 |
pyenv |
强烈推荐,版本隔离、灵活、可重复、不污染系统 | 初始配置稍显复杂 | 所有 Python 开发场景,特别是需要管理多个版本时。 |
| 从源码编译 | 版本最新,可定制性强 | 过程复杂,容易出错,依赖多 | 需要特定版本的补丁或对 Python 进行深度定制时。 |
最终建议:
- 如果你是开发者或学习者:请毫不犹豫地选择
pyenv,它能给你带来最干净、最灵活、最专业的开发体验。 - 如果你是系统管理员,需要维护一个依赖 Python 2.7 的旧应用:使用 系统包管理器 是最快、最稳妥的选择,但请务必将应用和依赖隔离好,并注意其安全风险。
- 尽量避免直接使用
sudo安装 Python 到系统路径(如/usr/local/bin),这可能会破坏系统工具的依赖关系。pyenv通过altinstall或在用户目录安装完美地解决了这个问题。
