You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7下使用pyenv安装Python3.11.0遇SSL模块缺失问题求助

解决CentOS7下pyenv安装Python3.11.0缺失_ssl模块问题

问题根源

CentOS7自带的OpenSSL版本为1.0.2,而Python3.10及以上版本必须依赖OpenSSL 1.1.1或更高版本。你安装的openssl-devel是对应系统旧版OpenSSL的开发包,无法满足Python3.11的编译要求——这就是Python3.9.0能安装成功,3.11.0却失败的核心原因。

解决步骤

1. 替换系统OpenSSL为1.1.1版本

先卸载系统自带的旧版openssl-devel,避免编译冲突:

sudo yum remove -y openssl-devel

下载OpenSSL 1.1.1系列源码包(如1.1.1w),上传到/usr/local/src目录后执行以下编译安装命令:

cd /usr/local/src
sudo tar xf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
sudo ./config --prefix=/usr/local/openssl shared zlib
sudo make -j$(nproc)
sudo make install

2. 临时设置环境变量,让pyenv指向新版OpenSSL

安装Python前,设置环境变量告知编译工具使用新版OpenSSL:

export PATH="/usr/local/openssl/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/openssl/lib:$LD_LIBRARY_PATH"
export LDFLAGS="-L/usr/local/openssl/lib"
export CPPFLAGS="-I/usr/local/openssl/include"
export PKG_CONFIG_PATH="/usr/local/openssl/lib/pkgconfig"

3. 清理编译残留并重新安装Python3.11.0

删除之前的编译临时文件,避免残留影响:

rm -rf /tmp/python-build*

执行pyenv安装命令:

pyenv install 3.11.0

4. 永久生效环境变量(可选)

若不想每次安装Python都手动设置环境变量,可将变量添加到shell配置文件(如~/.bashrc):

echo 'export PATH="/usr/local/openssl/bin:$PATH"' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH="/usr/local/openssl/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc
echo 'export LDFLAGS="-L/usr/local/openssl/lib"' >> ~/.bashrc
echo 'export CPPFLAGS="-I/usr/local/openssl/include"' >> ~/.bashrc
echo 'export PKG_CONFIG_PATH="/usr/local/openssl/lib/pkgconfig"' >> ~/.bashrc
source ~/.bashrc

内容的提问来源于stack exchange,提问作者UDOT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 00:07:05