在 CentOS 环境下安装 Python 3 的详细步骤
CentOS 系统(尤其是 CentOS 7)默认通常预装的是 Python 2.x 版本。然而,随着 Python 2 在 2020 年停止维护,Python 3 已成为主流。本文将详细介绍在 CentOS 系统中安装 Python 3 的几种方法,并提供后续配置建议。
前提条件
- 具有
sudo权限的非 root 用户或直接使用root用户。 - 稳定的互联网连接。
方法一:使用包管理器安装 (推荐)
这是最简单、最推荐的方法,因为它依赖于官方或社区维护的仓库,能够确保依赖关系的正确性和安全性。
1. 更新系统软件包
在安装任何新软件之前,始终建议更新系统以确保所有现有软件包都是最新的。
bash
sudo yum update -y
2. 安装开发工具和必要的依赖
为了能够顺利安装 Python 3 及其各种模块,需要安装一些开发工具和库。
bash
sudo yum install -y epel-release # 安装 EPEL 仓库,其中包含一些额外的软件包
sudo yum groupinstall -y "Development Tools"
sudo yum install -y \
zlib-devel \
bzip2-devel \
openssl-devel \
ncurses-devel \
sqlite-devel \
readline-devel \
tk-devel \
libffi-devel \
xz-devel \
wget \
make \
gcc
对于 CentOS 7:
CentOS 7 默认仓库中通常不包含最新版本的 Python 3。您可以从 IUS (Inline with Upstream Stable) 仓库安装较新版本。
“`bash
sudo yum install -y https://repo.ius.io/ius-release-el7.rpm # 安装 IUS 仓库
sudo yum update -y
安装 Python 3.6, 3.8, 3.9 或 3.11 (选择一个您需要的版本)
例如,安装 Python 3.9:
sudo yum install -y python39 python39-pip
“`
安装完成后,Python 3 的可执行文件通常会命名为 python3.x (例如 python3.9),而 pip 则为 pip3.x (例如 pip3.9)。系统默认的 python 命令仍然指向 Python 2。
对于 CentOS 8 / Stream:
CentOS 8 引入了 dnf 包管理器和模块流(Module Stream)。Python 3 已经包含在基础仓库中,并且可以使用模块流选择不同的版本。
“`bash
sudo dnf update -y
列出可用的 Python 3 版本模块流
sudo dnf module list python36 python38 python39
启用您需要的 Python 3 版本模块流 (例如,Python 3.9)
注意: 只能启用一个主要版本。如果要切换,需要先重置当前模块。
sudo dnf module reset python36 # 如果之前启用了其他版本
sudo dnf module enable python39 -y
安装 Python 3
sudo dnf install -y python3 python3-pip
“`
在 CentOS 8 中,python3 命令会指向您所选模块流的 Python 3 版本。
3. 验证安装
“`bash
CentOS 7 (IUS 仓库安装):
python3.9 –version
pip3.9 –version
CentOS 8 (模块流安装):
python3 –version
pip3 –version
“`
方法二:从源代码编译安装 (高级用户)
如果您需要安装最新的 Python 版本或特定的版本,并且该版本在包管理器中不可用,可以从源代码编译安装。
1. 下载 Python 源代码
访问 Python 官方网站 (www.python.org/downloads/source/) 获取您需要版本的源代码压缩包链接。
“`bash
以 Python 3.10.12 为例
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz
sudo tar -xf Python-3.10.12.tgz
cd Python-3.10.12
“`
2. 配置和编译
“`bash
配置编译选项。–enable-optimizations 可以提高性能,但会增加编译时间。
–with-ensurepip=install 确保安装 pip。
sudo ./configure –enable-optimizations –with-ensurepip=install
编译和安装。-j$(nproc) 利用所有 CPU 核心加速编译。
不要直接使用 sudo make install,这可能会覆盖系统默认的 python 命令。
使用 altinstall 可以避免覆盖系统默认的 python 二进制文件。
sudo make -j$(nproc)
sudo make altinstall
“`
3. 验证安装
编译安装的 Python 3 通常会将可执行文件安装到 /usr/local/bin,并以 python3.x 和 pip3.x 命名。
bash
python3.10 --version
pip3.10 --version
后续配置和最佳实践
1. 不要替换系统默认的 python 命令
CentOS 系统的一些内部工具(如 yum)依赖于 Python 2。直接将 python 命令链接到 Python 3 可能会破坏系统稳定性。因此,始终使用 python3 或 python3.x 来调用新安装的 Python 3。
2. 设置 pip 别名 (可选)
为了方便,您可以为 pip3.x 设置一个别名,但请确保了解其影响。
编辑您的 shell 配置文件 (例如 ~/.bashrc 或 ~/.bash_profile):
“`bash
假设您安装的是 python3.9
echo ‘alias python=python3.9’ >> ~/.bashrc
echo ‘alias pip=pip3.9’ >> ~/.bashrc
source ~/.bashrc
“`
再次强调: 除非您完全明白风险,否则不建议将 python 别名设置为 python3.x,这可能在某些脚本中导致问题。
3. 创建虚拟环境 (强烈推荐)
虚拟环境是 Python 开发的最佳实践。它允许您为每个项目创建独立的 Python 环境,以避免包冲突。
“`bash
假设您使用 python3.9
python3.9 -m pip install –upgrade pip # 确保 pip 是最新版本
python3.9 -m pip install virtualenv # 安装 virtualenv 工具 (如果您喜欢使用 venv 模块则跳过此步)
创建虚拟环境
mkdir my_python_project
cd my_python_project
python3.9 -m venv venv # 使用 Python 3.3+ 内置的 venv 模块
激活虚拟环境
source venv/bin/activate
此时,命令 python 和 pip 将指向虚拟环境中的 Python 3 和 pip
python –version
pip –version
在虚拟环境中安装所需的包
pip install requests beautifulsoup4
退出虚拟环境
deactivate
“`
总结
在 CentOS 上安装 Python 3 有多种方法。对于大多数用户而言,通过包管理器(yum 或 dnf 结合 IUS 仓库或模块流)安装是最便捷和稳妥的选择。从源代码编译则适用于需要特定版本或最新版本的场景。无论哪种方式,都强烈建议使用虚拟环境进行项目开发,以保持系统环境的清洁和项目的隔离。