对于维护旧项目或在特定环境中需要 Python 2.7 的场景,安装它仍然是必要的,下面我将为您提供几种常见的 Linux 发行版(如 Ubuntu/Debian, CentOS/RHEL, Arch Linux)的安装方法,以及一些重要的后续步骤。
⚠️ 重要提示:为什么 Python 2.7 已被淘汰?
- 停止支持:官方不再提供任何补丁、错误修复或安全更新。
- 安全风险:使用它可能使您的系统或应用暴露于已知的安全漏洞中。
- 现代库不兼容:绝大多数新的 Python 库和框架(如 Django 3+, Flask 2+)不再支持 Python 2.7。
- 性能:Python 3 在性能、语法和功能上都有巨大改进。
强烈建议您尽可能将项目迁移到 Python 3。
使用包管理器安装(推荐)
这是最简单、最快捷的方法,但请注意,某些较新的发行版可能已经从官方源中移除了 Python 2.7。
基于 Debian / Ubuntu / Mint 的系统
使用 apt 包管理器。
# 更新软件包列表 sudo apt update # 安装 Python 2.7 及其标准开发包 sudo apt install python2.7 python2.7-dev
python2.7: 核心解释器。python2.7-dev: 开发头文件和库,用于编译需要 Python 的 C/C++ 扩展。
安装完成后,验证安装:
python2.7 --version # 应该输出 Python 2.7.x
基于 CentOS / RHEL / Fedora 的系统
使用 yum 或 dnf 包管理器。
对于 CentOS 7 / RHEL 7 / Fedora 等较旧版本:
# CentOS/RHEL 7 默认源中有 Python 2.7 sudo yum install python2 python2-devel
对于 CentOS 8 / RHEL 8 / Fedora 30+ 等较新版本:
这些系统默认使用 Python 3 作为 python 命令,Python 2.7 在 AppStream 源中,但可能需要启用 PowerTools 仓库(对于 CentOS/RHEL 8)。
# 1. 安装 EPEL (Extra Packages for Enterprise Linux) 仓库 (如果尚未安装) sudo dnf install epel-release # 2. 对于 CentOS/RHEL 8, 启用 PowerTools 仓库 sudo dnf config-manager --set-enabled powertools # 3. 安装 Python 2.7 sudo dnf install python2 python2-devel
同样,验证安装:
python2 --version # 应该输出 Python 2.7.x
基于 Arch Linux 的系统
Arch Linux 的官方源中不再提供 Python 2,但可以通过 AUR (Arch User Repository) 安装。
# 需要安装一个 AUR 助手,yay # 如果没有,请先安装 yay # sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si # 使用 yay 安装 python2 yay -S python2
从源代码编译安装(最灵活)
如果您的系统太新,官方源中没有 Python 2.7,或者您需要一个非常特定的版本,可以从源代码编译安装。
步骤:
-
安装编译所需的依赖
- Ubuntu/Debian:
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
- CentOS/RHEL:
sudo yum groupinstall "Development Tools" sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libffi-devel xz-devel
- Ubuntu/Debian:
-
下载 Python 2.7 源代码 建议从 Python 官方 FTP 下载一个稳定的最终版本(如 2.7.18)。
# 创建一个临时目录 mkdir ~/python2.7_install cd ~/python2.7_install # 下载 Python 2.7.18 的源代码 wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz # 解压 tar -xzf Python-2.7.18.tgz cd Python-2.7.18
-
配置、编译和安装
# 配置安装路径(推荐使用 /usr/local,避免覆盖系统自带的 Python) # --enable-optimizations 会进行优化,编译时间稍长,但性能更好 ./configure --enable-optimizations --prefix=/usr/local # 编译 (使用 -j 可以利用多核CPU加速,-j4) make -j 4 # 安装 (需要 sudo 权限) sudo make altinstall
注意:这里我们使用
make altinstall而不是make install。make install会将可执行文件命名为python,可能会覆盖你系统中现有的python命令(通常是 Python 3)。make altinstall会将可执行文件命名为python2.7,安全得多,不会覆盖现有的python命令。
-
验证安装
/usr/local/bin/python2.7 --version # 应该输出 Python 2.7.18
安装后的重要步骤:配置 pip 和 setuptools
Python 2.7 通常不带 pip,或者版本很旧,你需要手动安装它。
-
下载
get-pip.py脚本cd ~ wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
-
使用
python2.7运行脚本安装pip- 如果你用包管理器安装,
python2.7命令通常在系统 PATH 中。 - 如果你从源码安装到
/usr/local,你需要使用完整路径/usr/local/bin/python2.7。
# 使用系统 PATH 中的 python2.7 python2.7 get-pip.py # 或者使用完整路径 /usr/local/bin/python2.7 get-pip.py
- 如果你用包管理器安装,
-
验证
pippython2.7 -m pip --version # 应该显示 pip 的版本信息
如何同时管理 Python 2 和 Python 3?
这是最关键的一步,避免版本冲突。
使用明确的命令
- 运行 Python 2 代码:
python2.7 your_script.py
- 使用 Python 2 的 pip:
python2.7 -m pip install <package_name>
最佳实践:始终使用
pythonX.Y -m pip的形式来管理特定版本的包,这样可以确保你安装的包是给正确的 Python 版本的。
使用虚拟环境(强烈推荐)
虚拟环境可以为每个项目创建一个独立的 Python 环境,避免全局包的污染。
-
安装
virtualenv(为 Python 2 准备)# 为 Python 2 安装 virtualenv python2.7 -m pip install virtualenv
-
为项目创建虚拟环境
# 创建一个名为 my_py2_project 的文件夹 mkdir my_py2_project cd my_py2_project # 创建一个名为 venv 的虚拟环境,使用 Python 2.7 virtualenv -p /usr/bin/python2.7 venv # 如果你是从源码安装的,路径应该是 /usr/local/bin/python2.7 # virtualenv -p /usr/local/bin/python2.7 venv
-
激活和使用虚拟环境
# 激活虚拟环境 source venv/bin/activate # 激活后,你的命令行提示符会改变 # (venv) $ # python 和 pip 命令都指向 Python 2.7 环境 python --version pip install some_package_for_py2 # 退出虚拟环境 deactivate
| 步骤 | 操作 | 命令示例 |
|---|---|---|
| 安装 | 包管理器 (首选) | sudo apt install python2.7 |
| 源码编译 | ./configure && make && sudo make altinstall |
|
| 验证 | 检查版本 | python2.7 --version |
| 安装 pip | 下载并运行脚本 | python2.7 get-pip.py |
| 验证 pip | 检查 pip 版本 | python2.7 -m pip --version |
| 最佳实践 | 使用虚拟环境 | virtualenv -p python2.7 venv |
Python 2.7 是一个“遗留”工具,在开始任何新项目时,请务必选择 Python 3。
