在安装Python前,需完成以下基础准备:

sudo yum update -y,确保系统所有包为最新版本,避免兼容性问题。sudo yum groupinstall "Development Tools" -y# 安装gcc、make等编译工具sudo yum install openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel tk-devel gcc make -y# 安装Python依赖库注:若安装过程中提示缺少
epel-release,可先运行sudo yum install epel-release -y启用EPEL仓库。
若无需特定Python版本,推荐使用YUM安装系统预编译的Python包,操作简单且安全:
# 安装Python 3(以CentOS 7为例,部分版本可能需要替换为python38/python39)sudo yum install python3 -y# 验证安装python3 --version# 查看Python版本pip3 --version # 查看pip版本(Python包管理工具)提示:YUM安装的Python版本通常为系统默认支持的最新稳定版(如CentOS 7默认安装Python 3.6,CentOS 8+默认安装Python 3.9)。
若需要安装特定版本(如Python 3.12)或优化性能,可选择源码编译安装:
wget下载:wget https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgztar xvf Python-3.12.1.tgz# 解压源码包cd Python-3.12.1 # 进入解压后的目录./configure --prefix=/usr/local/python3.12 --enable-optimizations# 配置安装路径及优化选项make -j $(nproc)# 使用多核编译(加快速度,$(nproc)表示CPU核心数)sudo make altinstall# 使用altinstall避免覆盖系统默认python命令注:
--enable-optimizations会启用PGO(Profile-Guided Optimization)优化,提升Python运行性能,但会增加编译时间。
sudo ln -sf /usr/local/python3.12/bin/python3.12 /usr/bin/python3# 创建python3软链接sudo ln -sf /usr/local/python3.12/bin/pip3.12 /usr/bin/pip3# 创建pip3软链接python3 --version# 验证Python版本pip3 --version # 验证pip版本若需要在同一系统运行多个Python版本(如同时使用3.8、3.10、3.12),推荐使用pyenv工具:
sudo yum install git gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel -ycurl https://pyenv.run | bash# 下载并运行pyenv安装脚本~/.bashrc(或~/.zshrc,根据shell类型调整)文件末尾:export PATH="$HOME/.pyenv/bin:$PATH"eval "$(pyenv init --path)"eval "$(pyenv init -)"eval "$(pyenv virtualenv-init -)"运行source ~/.bashrc使配置生效。pyenv install 3.9.9# 安装Python 3.9.9pyenv install 3.12.1 # 安装Python 3.12.1pyenv versions # 查看已安装版本(*表示当前使用版本)pyenv global 3.12.1# 设置全局默认Python版本pyenv local 3.9.9# 为当前目录设置局部Python版本(创建.python-version文件)无论使用哪种安装方式,均建议使用虚拟环境隔离项目依赖,避免全局包冲突:
# 使用venv模块创建虚拟环境(Python 3.3+内置)python3 -m venv myenv# 创建名为myenv的虚拟环境# 激活虚拟环境source myenv/bin/activate# 激活后,终端提示符会显示虚拟环境名称# 在虚拟环境中安装包(如flask)pip install flask# 退出虚拟环境deactivateNo package openssl11 available),需安装对应依赖包。例如,CentOS 7缺少openssl11时,可运行sudo yum install epel-release -y && sudo yum install openssl11 openssl11-devel -y。Could not build the ssl module错误,需确保已安装openssl-devel,并在./configure时添加--with-openssl=/usr/include/openssl11(若使用openssl11)。python3、pip3命令明确指定版本,或使用alternatives工具管理默认版本:sudo alternatives --install /usr/bin/python python /usr/bin/python3 2# 添加Python3到alternativessudo alternatives --config python# 交互式选择默认版本通过以上步骤,可根据需求在CentOS环境中成功安装并配置Python。建议优先使用YUM或源码编译安装,如需多版本切换则选择pyenv;同时务必使用虚拟环境隔离项目依赖,保障系统稳定性。