下面是一篇关于在 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 冲突。
- 安装 CentOS SCL 发布文件:
bash
sudo yum install centos-release-scl -y - 安装 Python 3.6 (或更高版本,例如
rh-python38):
bash
# 安装 Python 3.6
sudo yum install rh-python36 -y
# 或者,如果您需要 Python 3.8
# sudo yum install rh-python38 -y - 启用 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。
- 查看可用的 Python 3 模块:
bash
sudo dnf module list python3
这将显示如python36,python38,python39等模块。 - 安装所需版本的 Python 3:
您可以选择安装特定版本,例如 Python 3.8。
bash
sudo dnf install python38 -y
# 或者安装默认的 Python 3 版本
# sudo dnf install python3 -y - 安装开发工具 (推荐):
这些工具通常是编译 Python 扩展模块所必需的。
bash
sudo dnf groupinstall "Development Tools" -y
3. 验证 Python 3 安装
安装完成后,验证 Python 3 是否正确安装及其版本。
bash
python3 --version
您应该看到类似 Python 3.6.8 或 Python 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 环境之间的依赖冲突。
-
安装
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]$`。bash
在此环境中,您使用 `pip install` 安装的任何包都将仅存在于此虚拟环境中。
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 开发工作提供一个稳定高效的环境。