杰瑞科技汇

linux 安装python 2.7

对于维护旧项目或在特定环境中需要 Python 2.7 的场景,安装它仍然是必要的,下面我将为您提供几种常见的 Linux 发行版(如 Ubuntu/Debian, CentOS/RHEL, Arch Linux)的安装方法,以及一些重要的后续步骤。


⚠️ 重要提示:为什么 Python 2.7 已被淘汰?

  1. 停止支持:官方不再提供任何补丁、错误修复或安全更新。
  2. 安全风险:使用它可能使您的系统或应用暴露于已知的安全漏洞中。
  3. 现代库不兼容:绝大多数新的 Python 库和框架(如 Django 3+, Flask 2+)不再支持 Python 2.7。
  4. 性能: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 的系统

使用 yumdnf 包管理器。

对于 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,或者您需要一个非常特定的版本,可以从源代码编译安装。

步骤:

  1. 安装编译所需的依赖

    • 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
  2. 下载 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
  3. 配置、编译和安装

    # 配置安装路径(推荐使用 /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 命令。
  4. 验证安装

    /usr/local/bin/python2.7 --version
    # 应该输出 Python 2.7.18

安装后的重要步骤:配置 pipsetuptools

Python 2.7 通常不带 pip,或者版本很旧,你需要手动安装它。

  1. 下载 get-pip.py 脚本

    cd ~
    wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
  2. 使用 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
  3. 验证 pip

    python2.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 环境,避免全局包的污染。

  1. 安装 virtualenv (为 Python 2 准备)

    # 为 Python 2 安装 virtualenv
    python2.7 -m pip install virtualenv
  2. 为项目创建虚拟环境

    # 创建一个名为 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
  3. 激活和使用虚拟环境

    # 激活虚拟环境
    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。

分享:
扫描分享到社交APP
上一篇
下一篇