杰瑞科技汇

CentOS下Python 2.7安装步骤有哪些?

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

CentOS下Python 2.7安装步骤有哪些?-图1
(图片来源网络,侵删)

重要前提:检查系统自带的 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下Python 2.7安装步骤有哪些?-图2
(图片来源网络,侵删)
# 对于 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

    执行后,您的当前终端会话中,pythonpip 命令就会指向 Python 2.7 的版本。

    CentOS下Python 2.7安装步骤有哪些?-图3
    (图片来源网络,侵删)
    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 环境,您可以直接使用 pythonpip 命令。

  • 直接运行脚本 您也可以不切换环境,直接运行 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.7pip2.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 系统的稳定性。

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