在 CentOS 安装和配置 Python3 – wiki大全

下面是一篇关于在 CentOS 上安装和配置 Python 3 的详细文章。


在 CentOS 上安装和配置 Python 3

Python 3 是现代 Web 开发、数据科学和自动化脚本的核心语言。本文将详细介绍如何在 CentOS 系统上安装和配置 Python 3,涵盖 CentOS 7 和 CentOS 8/Stream 两个主要版本。

1. 前言与系统准备

在开始安装之前,请确保您的系统已更新至最新状态,以避免潜在的兼容性问题。

1.1 更新系统软件包

“`bash

对于 CentOS 7

sudo yum update -y

对于 CentOS 8 / CentOS Stream

sudo dnf update -y
“`

2. 安装 Python 3

CentOS 7 和 CentOS 8/Stream 在安装 Python 3 的方法上有所不同。CentOS 7 默认提供 Python 2,而 Python 3 通常需要通过 Software Collections (SCL) 安装。CentOS 8/Stream 则将 Python 3 作为默认选项或通过 AppStream 仓库提供。

2.1 对于 CentOS 7 (使用 Software Collections – SCL)

CentOS 7 推荐使用 SCL 来安装不同版本的 Python,这可以避免与系统默认的 Python 2 冲突。

  1. 安装 CentOS SCL 发布文件:
    bash
    sudo yum install centos-release-scl -y
  2. 安装 Python 3.6 (或更高版本,例如 rh-python38):
    bash
    # 安装 Python 3.6
    sudo yum install rh-python36 -y
    # 或者,如果您需要 Python 3.8
    # sudo yum install rh-python38 -y
  3. 启用 Python 3 环境:
    每次打开新的终端会话时,您都需要启用 SCL 提供的 Python 3 环境。
    bash
    # 启用 Python 3.6
    scl enable rh-python36 bash
    # 或者启用 Python 3.8
    # scl enable rh-python38 bash

    使其永久生效 (可选): 如果您希望每次登录时自动启用 Python 3 环境,可以将 scl enable 命令添加到您的 ~/.bashrc 文件末尾。
    bash
    echo "source /opt/rh/rh-python36/enable" >> ~/.bashrc
    # 或者对于 Python 3.8
    # echo "source /opt/rh/rh-python38/enable" >> ~/.bashrc
    source ~/.bashrc # 立即加载修改

2.2 对于 CentOS 8 / CentOS Stream (使用 dnf)

CentOS 8/Stream 通常通过 dnf 包管理器从 AppStream 仓库提供 Python 3。

  1. 查看可用的 Python 3 模块:
    bash
    sudo dnf module list python3

    这将显示如 python36, python38, python39 等模块。
  2. 安装所需版本的 Python 3:
    您可以选择安装特定版本,例如 Python 3.8。
    bash
    sudo dnf install python38 -y
    # 或者安装默认的 Python 3 版本
    # sudo dnf install python3 -y
  3. 安装开发工具 (推荐):
    这些工具通常是编译 Python 扩展模块所必需的。
    bash
    sudo dnf groupinstall "Development Tools" -y

3. 验证 Python 3 安装

安装完成后,验证 Python 3 是否正确安装及其版本。

bash
python3 --version

您应该看到类似 Python 3.6.8Python 3.8.x 的输出。

4. 安装 pip (Python 包管理器)

pip 是 Python 的官方包安装工具,用于安装和管理第三方库。

4.1 对于 CentOS 7 (SCL Python)

SCL 提供的 Python 版本通常自带 pip。如果缺少,可以使用 ensurepip 安装。

“`bash

确保您已启用 SCL Python 环境 (参考 2.1 节)

python3 -m ensurepip –default-pip
“`

4.2 对于 CentOS 8 / CentOS Stream

bash
sudo dnf install python3-pip -y

4.3 验证 pip 安装

bash
pip3 --version

您应该看到 pip 及其版本信息。

5. 设置 Python 虚拟环境 (推荐)

强烈建议为每个 Python 项目使用虚拟环境。虚拟环境可以隔离项目依赖,防止不同项目之间以及项目与系统 Python 环境之间的依赖冲突。

  1. 安装 venv 模块:
    venv 模块用于创建虚拟环境。
    “`bash
    # 对于 CentOS 7 (SCL Python,在已启用 SCL 环境下)
    python3 -m pip install –user virtualenv

    对于 CentOS 8 / CentOS Stream

    sudo dnf install python3-virtualenv -y
    2. **创建虚拟环境:**
    进入您的项目目录,然后创建虚拟环境。
    bash
    mkdir my_python_project
    cd my_python_project
    python3 -m venv venv_name # ‘venv_name’ 是您虚拟环境的名称,例如 ‘env’ 或 ‘.venv’
    3. **激活虚拟环境:**bash
    source venv_name/bin/activate
    激活后,您的命令行提示符通常会显示虚拟环境的名称,例如 `(venv_name) [user@host my_python_project]$`。
    在此环境中,您使用 `pip install` 安装的任何包都将仅存在于此虚拟环境中。
    bash
    pip install requests
    4. **停用虚拟环境:**
    当您完成项目工作时,可以停用虚拟环境。
    bash
    deactivate
    “`

6. 管理多个 Python 版本 (可选)

如果您需要在系统上同时管理多个 Python 版本 (例如 Python 2 和多个 Python 3 版本),除了 SCL (CentOS 7) 或 AppStream 模块 (CentOS 8/Stream) 之外,还可以考虑使用 pyenv 等工具。然而,对于大多数用例,使用本文中介绍的 SCL 或 dnf 方式,并结合虚拟环境,已经足够满足需求。

总结

通过遵循上述步骤,您应该能够在 CentOS 系统上成功安装和配置 Python 3,并使用 pip 管理包,以及通过虚拟环境隔离项目依赖。这将为您的 Python 开发工作提供一个稳定高效的环境。


滚动至顶部