RHEL 8中pip3.6安装包提示SSL模块不可用如何解决?
根因定位
你遇到的pip报错本质是Python3.6的ssl模块加载失败,通过import ssl的报错可以确认:系统缺失Python3.6依赖的libssl.so.10动态库。
RHEL 8默认预装OpenSSL 1.1.x版本,仅提供libssl.so.1.1库,而你当前使用的Python3.6是基于OpenSSL 1.0.x版本编译的,因此无法找到对应依赖。
完整解决步骤
- 第一步:启用RHEL 8的CodeReady Builder仓库(如果未启用的话)
执行命令:subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms - 第二步:安装OpenSSL 1.0兼容包
执行命令:dnf install -y compat-openssl10 - 第三步:验证ssl模块可用性
执行命令检查是否还存在加载报错:
无任何输出即为正常,若仍报错可重启终端后重试。python3.6 -c "import ssl" - 第四步:重新执行pip安装操作
执行原安装命令即可正常拉取PyPI资源:pip3.6 install galpy
可选替代方案(如果不想安装兼容包)
如果不希望在系统中安装旧版本OpenSSL兼容包,可重新编译Python3.6,编译时指定使用系统自带的OpenSSL 1.1版本即可,编译前需先安装openssl开发依赖:
dnf install -y openssl-devel
重新编译Python时加入--with-openssl=/usr参数指定SSL路径即可。
内容的提问来源于stack exchange,提问作者Astro.Bacon
相关产品推荐
相关产品推荐

