杰瑞科技汇

Linux下Python 2.7安装步骤是什么?

⚠️ 重要提示:Python 2.7 已于 2025 年 1 月 1 日停止官方支持(EOL)

这意味着它不会再收到任何安全补丁、错误修复或功能更新,在连接到互联网的服务器上使用 Python 2.7 存在安全风险,请仅将其用于维护无法升级到 Python 3 的旧项目

Linux下Python 2.7安装步骤是什么?-图1
(图片来源网络,侵删)

使用系统包管理器(最简单,但不推荐)

这是最直接的方法,适用于快速安装或进行简单的测试,但通常安装的版本可能比较旧,并且会和系统原有的 Python 工具(如 yum)产生冲突。

对于基于 Red Hat/CentOS/Fedora 的系统 (使用 yum)

# 检查系统是否已安装 python 2.7
python2.7 --version
# 如果没有安装,使用 yum 安装
sudo yum install python27
# 安装 pip (Python 2.7 的包管理器)
sudo yum install python27-pip

对于基于 Debian/Ubuntu 的系统 (使用 apt)

# 更新软件包列表
sudo apt-get update
# 安装 python 2.7
sudo apt-get install python2.7
# 安装 pip (Python 2.7 的包管理器)
sudo apt-get install python-pip

优点:

  • 命令简单,一键安装。
  • 由系统包管理器管理,可以方便地卸载。

缺点:

  • 版本老旧:系统仓库中的 Python 2.7 版本通常非常古老(CentOS 7 的是 2.7.5,Ubuntu 18.04 的是 2.7.17),可能缺少你项目所需的某些新特性或 bugfix。
  • 破坏系统环境:在 Linux 中,/usr/bin/python 通常指向系统自带的 Python,用于系统脚本,直接覆盖它可能导致系统管理工具(如 yum, apt)失效。
  • 权限问题:使用 sudo 安装的包会安装在系统级,可能导致权限冲突。

使用 pyenv(强烈推荐)

pyenv 是一个优秀的 Python 版本管理工具,它允许你在同一台机器上安装和管理多个 Python 版本,而不会干扰系统自带的 Python,这是开发人员最推荐的方法。

Linux下Python 2.7安装步骤是什么?-图2
(图片来源网络,侵删)

安装 pyenv (通常在几秒钟内完成)

# 克隆 pyenv 仓库到你的用户主目录
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
# 设置环境变量
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
# 初始化 pyenv
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc
# 重新加载你的 shell 配置文件,使更改生效
exec "$SHELL"

使用 pyenv 安装 Python 2.7

pyenv 已经准备好了,你可以用它来安装任何你想要的 Python 版本。

# 查看所有可安装的 Python 2.7 版本
pyenv install --list | grep " 2.7"
# 安装一个特定的 Python 2.7 版本 (2.7.18)
# pyenv 会自动下载源码并编译,确保你的系统已安装编译依赖
pyenv install 2.7.18

安装编译依赖(非常重要!) 如果在安装 pyenv 时遇到错误,很可能是因为缺少编译所需的库,请根据你的 Linux 发行版安装它们:

  • Red Hat / CentOS / Fedora:
    sudo yum groupinstall "Development Tools"
    sudo yum install openssl-devel bzip2-devel libffi-devel
  • Debian / Ubuntu:
    sudo apt-get update
    sudo apt-get install 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

使用 pyenv 切换 Python 版本

# 查看所有已安装的 Python 版本
pyenv versions
# 设置当前目录(及其所有子目录)使用的 Python 版本为 2.7.18
# 这会在当前目录下创建一个 `.python-version` 文件
pyenv local 2.7.18
# 验证当前使用的 Python 版本
python --version
# 应该会输出: Python 2.7.18
# 你也可以全局设置一个默认版本(不推荐,建议用 local)
# pyenv global 2.7.18

优点:

  • 隔离环境:不会污染系统 Python。
  • 版本灵活:可以轻松安装和切换任意 Python 版本。
  • 环境一致性:可以轻松地在团队中同步开发环境。
  • 安装最新补丁:可以安装 Python 2.7 的最新版本(如 2.7.18),比系统仓库的版本新得多。

缺点:

Linux下Python 2.7安装步骤是什么?-图3
(图片来源网络,侵删)
  • 安装过程稍复杂,需要首次配置。
  • 编译安装需要时间,且消耗 CPU 资源。

从源码手动编译(最灵活,但最复杂)

这种方法适合需要完全自定义编译选项的高级用户,或者 pyenv 无法满足的特殊需求。

安装编译依赖

这一步和方法二中的 pyenv 依赖安装完全相同。

  • Red Hat / CentOS / Fedora:
    sudo yum groupinstall "Development Tools"
    sudo yum install openssl-devel bzip2-devel libffi-devel
  • Debian / Ubuntu:
    sudo apt-get update
    sudo apt-get install 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

下载并编译 Python 2.7

# 创建一个工作目录并进入
mkdir ~/python-src && cd ~/python-src
# 下载 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
# 配置编译选项
# --prefix 指定了安装路径,我们安装在 ~/python2.7 下,避免和系统冲突
./configure --prefix=$HOME/python2.7
# 编译 (这个步骤会比较慢)
make -j$(nproc)  # -j$(nproc) 使用所有可用的 CPU核心进行加速编译
# 安装
make install

配置环境变量

为了让系统能找到你新安装的 Python,需要修改 ~/.bashrc 文件。

# 打开配置文件
nano ~/.bashrc
# 在文件末尾添加以下内容
export PATH="$HOME/python2.7/bin:$PATH"
export PYTHONPATH="$HOME/python2.7/lib/python2.7/site-packages:$PYTHONPATH"
# 保存并退出 (在 nano 中是 Ctrl+X, Y, Enter)
# 重新加载配置文件
exec "$SHELL"

验证安装

# 检查版本
python --version
# 应该输出: Python 2.7.18
# 检查 pip 是否可用
pip --version

优点:

  • 完全控制:可以自定义所有编译选项(如启用/禁用特定模块)。
  • 版本最新:可以手动下载最新的 2.7 版本源码进行编译。

缺点:

  • 过程复杂:需要手动处理下载、配置、编译、安装和路径配置。
  • 容易出错:任何一个步骤出错都可能导致安装失败。
  • 维护困难:升级或卸载需要手动操作。

总结与建议

方法 优点 缺点 推荐场景
系统包管理器 简单快速 版本旧,可能破坏系统 快速临时测试,不关心版本
pyenv 环境隔离,版本灵活,易于管理 首次配置稍复杂 所有开发场景,尤其是需要维护多版本 Python 的项目
源码编译 完全自定义,版本最新 过程复杂,易出错,维护难 高级用户,有特殊编译需求

给您的最终建议:

  • 如果您是开发者,请毫不犹豫地选择 pyenv,它会为您省去无数麻烦,是 Python 生态中的标准工具。
  • 如果您只是临时在服务器上运行一个旧脚本,并且不介意使用旧版本,可以使用系统包管理器,但请务必注意不要覆盖系统 Python。
  • 除非您有非常特殊的需求,否则不推荐从源码手动编译,因为 pyenv 已经把这个过程自动化得很好了。
分享:
扫描分享到社交APP
上一篇
下一篇