CentOS 中安装 Python 的关键注意事项
一 系统版本与仓库选择
sudo yum install -y epel-release)。sudo yum groupinstall -y "Development Tools"。二 安装方式与核心注意点
sudo yum install -y python39 python39u-devel;IUS 仓库也提供较新的 Python 3 版本(如 python36u/python39u)。./configure --enable-optimizations --prefix=/usr/local/python3.x,编译安装用 make altinstall 以避免覆盖系统 python。bin 目录加入 PATH(如 export PATH=/usr/local/python3.x/bin:$PATH),注意仅在当前用户或全局配置中设置,避免影响系统脚本。三 编译依赖与 SSL 配置
gcc、zlib-devel、bzip2-devel、openssl-devel、readline-devel、sqlite-devel、libffi-devel、ncurses-devel、tk-devel、gdbm-devel、db4-devel、libpcap-devel、xz-devel 等;缺少会导致模块不可用或编译失败。pip 报 “SSL module is not available” 或 Could not build the ssl module,需确保安装 OpenSSL 1.1.1+ 开发库,并在编译前准备 openssl11 的头文件与库路径,常见做法为设置环境变量:
export CFLAGS=$(pkg-config --cflags openssl11)export LDFLAGS=$(pkg-config --libs openssl11)./configure ... --with-ssl 再编译。zipimport.ZipImportError: can't decompress data; zlib not available → 安装 zlib-devel。ModuleNotFoundError: No module named '_ctypes' → 安装 libffi-devel 后重编译。四 多版本共存与默认解释器
python 命令指向 Python 3,谨慎操作:先备份原链接(如 sudo mv /usr/bin/python /usr/bin/python.bak),再创建新软链(如 sudo ln -s /usr/bin/python3 /usr/bin/python);同时确保系统脚本(如 /usr/bin/yum)仍指向原 Python 2.7,避免破坏系统功能。python 指向系统版本,项目中使用 python3 或创建别名/函数;或在虚拟环境中使用明确版本。五 虚拟环境与后续维护
python3.x -m venv venv && source venv/bin/activate,在虚拟环境内 pip install -r requirements.txt,避免污染全局环境。python3.x --version、pip3.x --version 输出正确;在虚拟环境中确认 which python、which pip 指向期望路径。