在 CentOS 上安装 Python 最新版本
方法一 源码编译安装并管理默认版本(通用且可控)
- 安装编译依赖
- CentOS 7:sudo yum groupinstall -y “Development Tools” && sudo yum install -y openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel gdbm-devel xz-devel
- CentOS 8/9:sudo dnf groupinstall -y “Development Tools” && sudo dnf install -y openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel gdbm-devel xz-devel
- 下载并解压最新稳定版源码(示例为 3.10.12,可按需替换为官网最新稳定版链接)
- cd /tmp
- wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz
- tar -xf Python-3.10.12.tgz && cd Python-3.10.12
- 配置与编译安装(使用 altinstall 避免覆盖系统 python)
- ./configure --prefix=/usr/local/python3.10 --enable-optimizations --with-ssl
- make -j$(nproc) && sudo make altinstall
- 使用 alternatives 管理默认版本
- sudo alternatives --install /usr/bin/python3 python3 /usr/local/python3.10/bin/python3.10 1
- sudo alternatives --config python3
- sudo alternatives --install /usr/bin/pip3 pip3 /usr/local/python3.10/bin/pip3.10 1
- sudo alternatives --config pip3
- 可选:创建无版本号软链接
- sudo ln -sf /usr/bin/python3 /usr/bin/python
- sudo ln -sf /usr/bin/pip3 /usr/bin/pip
- 验证
- python --version、python3 --version、pip --version、pip3 --version 应显示新版本
- 提示
- 若遇到 SSL/HTTPS 问题,多为缺少 openssl-devel 或未启用 –with-ssl;多核编译可用 -j$(nproc) 提升速度。
方法二 使用 pyenv 管理多个 Python 版本(开发推荐)
- 安装依赖
- sudo yum install -y git gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel
- 安装 pyenv
- git clone https://github.com/pyenv/pyenv.git ~/.pyenv
- echo ‘export PYENV_ROOT=“$HOME/.pyenv”’ >> ~/.bashrc
- echo ‘export PATH=“$PYENV_ROOT/bin:$PATH”’ >> ~/.bashrc
- echo ‘eval “$(pyenv init --path)”’ >> ~/.bashrc
- source ~/.bashrc
- 安装与切换版本
- pyenv install 3.x.x # 替换为官网最新稳定版
- pyenv global 3.x.x
- python --version
- 说明
- pyenv 可在用户态管理多版本,避免影响系统 Python,适合开发与测试多版本共存。
方法三 使用系统包管理器安装(简单,版本可能滞后)
- 安装 EPEL 仓库
- CentOS 7:sudo yum install -y epel-release
- CentOS 8/9:sudo dnf install -y epel-release
- 安装 Python 3
- sudo yum install -y python3 # 或 dnf install -y python3
- 验证
- 说明
- 优点是简单、依赖处理自动化;缺点是仓库中的版本通常较官方最新版滞后,如需最新特性建议用源码或 pyenv。
验证与常见问题处理
- 验证命令
- python --version、python3 --version、pip --version、pip3 --version
- 常见问题
- 不要覆盖系统自带 Python(会影响 yum/dnf 等系统工具);源码安装务必使用 make altinstall。
- pip 安装包慢可配置国内镜像(如清华源):创建 ~/.pip/pip.conf,内容:
- [global]
- index-url = https://pypi.tuna.tsinghua.edu.cn/simple
- [install]
- trusted-host = pypi.tuna.tsinghua.edu.cn
- 建议优先使用虚拟环境隔离依赖:python3 -m venv venv && source venv/bin/activate。