Python 在 CentOS 上的安装和配置往往是开发者遇到的第一道坎。由于 CentOS 默认搭载较旧版本的 Python(通常是 2.7),而现代开发大多依赖 Python 3.x,正确搭建环境至关重要。
1. 环境安装与配置
1.1 系统自带 Python 的限制
CentOS 预装的 Python 2.7 已在 2020 年停止支持。虽然许多系统工具(如 yum)仍依赖它,但不建议直接删除。移除它可能导致包管理器失灵或系统脚本失效,甚至需要重装系统才能恢复。
1.2 安装 Python 3 的常见问题及解决方案
安装前必须准备好开发工具和依赖包,否则编译时容易报错:
sudo yum groupinstall "Development Tools" -y
sudo yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel sqlite-devel readline-devel tk-devel -y
缺少这些依赖的后果很常见:没有 zlib 会导致 pip 模块无法安装;缺少 openssl-devel 则 SSL 模块不可用。
从源码编译是最推荐的方法,灵活性最高。注意使用 altinstall 而不是 install,防止覆盖系统默认的 Python 二进制文件:
# 下载最新 Python 源码(以 3.12.2 为例)
wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz
tar -xf Python-3.12.2.tgz
cd Python-3.12.2
# 配置编译选项
./configure --enable-optimizations --with-openssl=$(which openssl)
# 编译并安装
make -j $(nproc)
sudo make altinstall
安装完成后,使用 python3.12 命令明确调用新版本。
1.3 SSL 模块问题解决方案
如果安装时缺少 openssl-devel,导入 ssl 模块时会报错 ModuleNotFoundError: No module named '_ssl'。解决方法是重新编译并确保 OpenSSL 路径正确:
sudo yum install openssl openssl-devel
make clean
./configure --enable-optimizations --with-openssl=$(which openssl)
make -j $(nproc)
sudo make altinstall
1.4 环境变量配置与管理
安装后需将新路径加入环境变量:
echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc
echo 'export PYTHON_HOME=/usr/local/bin/python3.12' >> ~/.bashrc
~/.bashrc


