杰瑞科技汇

CentOS下如何安装Python2.7?

核心要点

  1. 系统自带的 Python 2.7:现代的 CentOS 7/8/9 系统为了兼容性,通常已经预装了 Python 2.7。你应该首先检查是否已经存在
  2. 使用 yum (CentOS 6/7):对于 CentOS 6 和 7,这是最简单的方法。
  3. 使用 dnf (CentOS 8/9):对于 CentOS 8 和 9,推荐使用 dnf,它是 yum 的现代替代品。
  4. 编译源码安装:这是最灵活但最复杂的方法,当 yum/dnf 不可用或需要特定版本时使用。
  5. 强烈建议使用虚拟环境:为了不与系统工具依赖的 Python 冲突,请务必使用 virtualenv 来管理你的项目。

检查系统是否已安装 Python 2.7 (推荐第一步)

在开始安装前,请先检查你的系统是否已经包含了 Python 2.7。

CentOS下如何安装Python2.7?-图1
(图片来源网络,侵删)
python2.7 --version

或者

python2 --version

如果输出类似 Python 2.7.18 的信息,说明你的系统已经安装了 Python 2.7,你可以直接跳到 “重要:创建虚拟环境” 部分。

如果提示 command not found,则说明你需要进行安装。


使用包管理器安装 (最推荐)

这是最简单、最安全的方法,因为它会自动处理依赖关系。

CentOS下如何安装Python2.7?-图2
(图片来源网络,侵删)

对于 CentOS 7

CentOS 7 的官方源中依然有 Python 2.7。

# 1. 更新软件包缓存
sudo yum update -y
# 2. 安装 Python 2.7 及其开发工具和头文件
sudo yum install -y python27 python27-devel python27-pip python27-setuptools

对于 CentOS 8 / CentOS 9 / Rocky Linux / AlmaLinux

这些版本的官方源默认不包含 Python 2.7,你需要安装 PowerTools 软件源(对于 CentOS 8)或 crb 软件源(对于 CentOS 9/Rocky/AlmaLinux)来获取它。

对于 CentOS 8:

# 1. 安装 PowerTools 软件源
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --set-enabled powertools
# 2. 安装 Python 2.7
sudo dnf install -y python2 python2-devel python2-pip

对于 CentOS 9 / Rocky Linux 9 / AlmaLinux 9:

# 1. 安装 CRB (Code Ready Builder) 软件源
sudo dnf install -y epel-release
sudo dnf config-manager --set-enabled crb
# 2. 安装 Python 2.7
sudo dnf install -y python2 python2-devel python2-pip

从源码编译安装 (备用方案)

当包管理器无法安装时(网络问题或官方源已完全移除),此方法非常可靠,但过程稍显复杂。

# 1. 安装编译所需的依赖包
sudo yum groupinstall -y "Development Tools"
sudo yum install -y openssl-devel bzip2-devel xz-devel libffi-devel
# 2. 下载 Python 2.7 的源码包 (这里以 2.7.18 为例,这是最后一个稳定版)
wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
# 3. 解压
tar -xvf Python-2.7.18.tgz
# 4. 进入源码目录
cd Python-2.7.18
# 5. 配置编译选项
# --prefix: 指定安装路径,推荐 /usr/local,避免覆盖系统 Python
# --enable-optimizations: 优化编译,提升性能
./configure --prefix=/usr/local --enable-optimizations
# 6. 编译 (这个过程比较慢,-j 后面的数字是CPU核心数,可以加快编译速度)
make -j$(nproc)
# 7. 安装
sudo make altinstall  # 注意:使用 altinstall 而不是 install,防止覆盖系统默认的 python 命令
# 8. 验证安装
/usr/local/bin/python2.7 --version

重要:创建虚拟环境 (强烈建议)

千万不要在系统全局使用 pip 安装包,这可能会破坏系统工具的依赖,正确的做法是为每个项目创建一个独立的虚拟环境。

  1. 确保你有 pip 如果你使用 yumdnf 安装,pip 通常会一起被安装,如果你是源码编译的,你可能需要单独安装 pip

    # 使用 get-pip.py 脚本安装 pip (通用方法)
    curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
    sudo python2.7 get-pip.py
  2. 安装 virtualenv

    sudo pip2.7 install virtualenv
  3. 创建并使用虚拟环境 假设你的项目在 my_project 目录下:

    # 1. 创建项目目录
    mkdir my_project
    cd my_project
    # 2. 创建一个名为 venv 的虚拟环境
    # python2.7 -m virtualenv venv
    # 或者使用 virtualenv 命令
    virtualenv -p /usr/bin/python2.7 venv
    # 3. 激活虚拟环境
    source venv/bin/activate
    # (venv) # 看到这个前缀,说明虚拟环境已激活
  4. 在虚拟环境中工作 现在你可以在虚拟环境中安全地使用 pip 安装包了,这些包只会影响到当前这个项目。

    # 安装你需要的包,Django 1.11
    (venv) pip install "Django<2.0"
    # 查看已安装的包
    (venv) pip list
  5. 退出虚拟环境 当你完成工作后,只需输入:

    (venv) deactivate

常见问题与注意事项

  • python 命令问题:在 CentOS 7+ 上,python 命令通常指向 Python 3,如果你需要 python 命令指向 Python 2.7,可以创建一个符号链接:

    sudo ln -s /usr/bin/python2.7 /usr/bin/python

    这可能会破坏依赖 Python 3 的系统工具! 强烈建议坚持使用 python2.7python2 命令。

  • pip 命令问题:同样,pip 命令可能指向 pip3,请使用 pip2.7pip2 来确保你操作的是 Python 2.7 的包管理器。

  • Python 2.7 已停止维护:请务必注意,Python 2.7 已经在 2025 年停止官方支持,这意味着它不再接收安全更新,存在安全风险,请尽快将你的项目迁移到 Python 3,此安装指南仅用于维护遗留项目。

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