在 CentOS 中安装 Python 的实用步骤
一 准备与环境检查
- 确认系统版本:cat /etc/centos-release
- 查看已装版本:python --version、python2 --version、python3 --version
- 更新索引并安装常用工具:sudo yum update -y && sudo yum install -y wget gcc make
- 说明:在 CentOS 7 常见自带 Python 2.7;CentOS 8 默认不提供未版本化的 python 命令,需显式使用 python3,或用 alternatives 设置默认版本。
二 方法一 使用 YUM 或 DNF 快速安装
- CentOS 7(EPEL 提供较新的 Python 3):
- 安装 EPEL:sudo yum install -y epel-release
- 安装 Python 3:sudo yum install -y python3(如需 pip:sudo yum install -y python3-pip)
- 验证:python3 --version、pip3 --version
- CentOS 8(AppStream 提供 python3):
- 安装 Python 3:sudo dnf install -y python3(通常同步安装 pip3)
- 验证:python3 --version、pip3 --version
- 说明:这是最简便、稳定、可维护的方式,适合大多数场景。
三 方法二 使用 SCL 安装较新版本
- 安装 SCL 源与 Python 3(示例为 rh-python36):sudo yum install -y centos-release-scl
- 安装软件包:sudo yum install -y rh-python36
- 启用 SCL 环境:scl enable rh-python36 bash(仅当前会话生效)
- 验证:python --version、pip --version
- 说明:SCL 可在不替换系统 Python 的前提下提供较新版本,适合需要特定版本且保留系统稳定性的场景。
四 方法三 源码编译安装指定版本
- 安装编译依赖:sudo yum groupinstall -y “Development Tools”
- 安装常见依赖:sudo yum install -y openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel wget xz-devel
- 下载与解压(示例 3.11.0):
- cd /usr/src
- wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
- tar xzf Python-3.11.0.tgz && cd Python-3.11.0
- 配置与编译(避免覆盖系统 Python,使用 altinstall):
- ./configure --enable-optimizations
- make -j “$(nproc)”
- sudo make altinstall
- 验证:python3.11 --version
- 说明:适合需要自定义路径/编译选项或获取最新版本的场景;使用 altinstall 可避免替换系统默认 python。
五 方法四 使用 pyenv 管理多版本
- 安装依赖:sudo yum install -y git gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
- 安装 pyenv:curl https://pyenv.run | bash
- 配置环境(写入 ~/.bashrc 或等效配置文件):
- echo ‘export PYENV_ROOT=“$HOME/.pyenv”’ >> ~/.bashrc
- echo ‘export PATH=“$PYENV_ROOT/bin:$PATH”’ >> ~/.bashrc
- echo ‘eval “$(pyenv init --path)”’ >> ~/.bashrc
- echo ‘eval “$(pyenv init -)”’ >> ~/.bashrc
- source ~/.bashrc
- 安装与切换版本:pyenv install 3.9.18;pyenv global 3.9.18
- 验证:python --version、pip --version
- 说明:便于在同一台机器上并行管理多个 Python 版本与虚拟环境。
六 安装后配置与常见问题
- 设置未版本化 python 命令(系统级,谨慎):
- 使用 alternatives:sudo alternatives --set python /usr/bin/python3(CentOS 8 推荐此方式)
- 或使用软链接:sudo ln -sf /usr/bin/python3 /usr/bin/python(可能影响系统工具,建议优先 alternatives)
- 升级 pip 与常用实践:python3 -m pip install --upgrade pip;优先在虚拟环境中使用 pip(见下)
- 创建虚拟环境(推荐):python3 -m venv venv && source venv/bin/activate
- 编译时 SSL 模块失败(如需要 OpenSSL 1.1.1+):
- 安装较新 OpenSSL 与开发库(如 openssl11 与 openssl11-devel)
- 配置时导出编译变量:export CFLAGS=$(pkg-config --cflags openssl11) 与 export LDFLAGS=$(pkg-config --libs openssl11)
- 重新 ./configure 与 make
- 安全建议:不要删除系统自带 /usr/bin/python(如 CentOS 7 的 python2.7),以免影响 yum 等系统工具。