安装 Python 3 (推荐)
对于绝大多数现代应用,你都需要 Python 3,在 CentOS 7 和 CentOS 8/Stream 上,安装方法有所不同。
对于 CentOS 7
CentOS 7 的官方源中默认没有 Python 3,你需要安装 EPEL (Extra Packages for Enterprise Linux) 仓库,然后从 EPEL 中安装。
步骤 1: 安装 EPEL 仓库 EPEL 提供了大量官方源中没有的软件包。
sudo yum install epel-release
步骤 2: 安装 Python 3
安装 python3 包,这通常会同时安装 pip3。
sudo yum install python3
步骤 3: 验证安装 检查 Python 3 和 pip 3 的版本。
python3 --version # 应该输出类似 Python 3.6.8 的版本 pip3 --version # 应该输出 pip 版本信息
步骤 4: (可选) 安装开发工具 如果你需要编译 Python 扩展或进行开发,建议安装开发工具包。
sudo yum groupinstall "Development Tools" sudo yum install python3-devel
对于 CentOS 8 / CentOS Stream
CentOS 8 及其后续版本 Stream 的官方源中已经包含了 Python 3,所以可以直接安装,无需 EPEL。
步骤 1: 安装 Python 3
直接使用 yum 安装。
sudo yum install python3
步骤 2: 验证安装 检查 Python 3 和 pip 3 的版本。
python3 --version # 应该输出类似 Python 3.6.8 (CentOS 8) 或更新的版本 (CentOS Stream) pip3 --version
步骤 3: (可选) 安装开发工具 同样,如果你需要开发环境,可以安装开发工具。
sudo yum groupinstall "Development Tools" sudo yum install python3-devel
安装 Python 2 (不推荐,仅用于兼容旧系统)
一些非常古老的系统或特定工具可能仍然依赖 Python 2。强烈建议在新项目中避免使用 Python 2。
步骤 1: 安装 Python 2
在 CentOS 7 和 8 上,Python 2 通常作为默认的 python 包提供。
sudo yum install python
步骤 2: 验证安装 检查 Python 2 的版本。
python --version # 应该输出 Python 2.7.5 (或类似版本)
注意:
yum工具本身在 CentOS 7/8 上仍然依赖 Python 2,所以不建议完全卸载它。- CentOS 8 官方已进入 "End of Life" (EOL),Python 2 的支持也已停止。
⚠️ 重要注意事项和最佳实践
不要删除系统自带的 Python
绝对不要 使用 yum remove python 命令来卸载系统自带的 Python 2,很多系统工具(如 yum)和底层服务都依赖它,卸载后可能会导致系统不稳定甚至无法启动。
使用 python3 命令,而不是 python
为了避免与系统自带的 Python 2 冲突,所有 Python 3 的命令都使用 python3 和 pip3。
- 运行脚本:
python3 your_script.py - 安装包:
pip3 install <package_name>
pip 的权限问题:pip install vs pip3 install --user
当你使用 pip3 install 安装包时,可能会遇到权限错误,这是因为默认情况下,pip 试图将包安装到系统级的 Python 环境中,这需要 root 权限。
有两种解决方案:
方案 A: 使用 --user 标志 (推荐)
将包安装到当前用户的家目录下,无需 root 权限,并且不会影响其他用户。
pip3 install --user <package_name>
安装后,你可能需要将 ~/.local/bin 添加到你的 PATH 环境变量中,才能直接运行安装的命令。
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
方案 B: 使用 sudo (不推荐,除非你明确知道你在做什么)
如果你确实需要将包安装到系统环境,可以使用 sudo。
sudo pip3 install <package_name>
这可能会污染你的系统 Python 环境,导致与其他软件包产生冲突。
更好的选择:使用虚拟环境
对于任何严肃的项目,最佳实践是使用虚拟环境,虚拟环境可以为每个项目创建一个独立的、隔离的 Python 环境,避免包版本冲突。
安装 venv 模块
# CentOS 7 sudo yum install python3-venv # CentOS 8 / Stream # python3 自带 venv,如果没有,也可以安装 sudo yum install python3-venv
创建和使用虚拟环境
# 1. 创建一个名为 my_project_env 的虚拟环境 python3 -m venv my_project_env # 2. 激活虚拟环境 source my_project_env/bin/activate # 你的命令行提示符前面会出现 (my_project_env),表示已激活 # 3. 在虚拟环境中安装包 (此时无需 sudo 或 --user) pip install requests # 4. 退出虚拟环境 deactivate
在虚拟环境中,你使用的 python 和 pip 命令都是该环境专属的,非常干净和隔离。
| 你的需求 | 推荐操作 | 命令 |
|---|---|---|
| 安装现代 Python | 安装 Python 3 | sudo yum install python3 (CentOS 7/8) |
| 运行 Python 3 代码 | 使用 python3 命令 |
python3 your_script.py |
| 安装 Python 包 | 使用 pip3,推荐 --user 或虚拟环境 |
pip3 install --user <pkg> 或 python3 -m venv |
| 兼容旧系统 | 安装 Python 2 (不推荐) | sudo yum install python |
| 避免系统冲突 | 永远不要删除系统 Python | yum remove python (禁用!) |
对于绝大多数用户,直接使用 yum install python3 是最简单快捷的开始,如果你要开始一个新项目,强烈建议从一开始就使用 虚拟环境。
