Ubuntu下Python3.7安装tensorflow-gpu==1.15.0报SSL模块不可用错误
问题根因
报错核心是当前使用的Python3.7缺失ssl模块。你加的--trusted-host参数作用只是跳过HTTPS证书校验,根本解决不了Python本身没有SSL处理能力的问题,所以加完参数还是报一样的错。
这类问题基本都出现在源码编译安装Python3.7的场景:编译Python之前没装系统层面的SSL开发库,最终编译出来的Python就不会带ssl模块,pip走HTTPS拉取包的时候直接就会失败。
修复步骤
- 先装齐编译Python需要的系统依赖:
sudo apt update sudo apt install -y libssl-dev openssl zlib1g-dev build-essential libffi-dev
- 进入你之前编译Python3.7用的源码目录,重新走一遍编译安装流程,注意configure阶段必须加
--with-ssl参数:
# 把路径换成你本地实际存放Python3.7源码的目录 cd Python-3.7.* ./configure --with-ssl --enable-optimizations make -j$(nproc) sudo make install
- 编译完成后先验证ssl模块是否正常,执行下面的命令,如果能正常输出OpenSSL的版本号,就说明模块已经装好了:
python3.7 -c "import ssl; print(ssl.OPENSSL_VERSION)" - 验证没问题之后,直接执行原来的安装命令就能装
tensorflow-gpu==1.15.0了:python3.7 -m pip install tensorflow-gpu==1.15.0
嫌重新编译麻烦的话,直接装系统源里预编译好的Python3.7也行,官方源的预编译包默认带全了ssl这类基础模块,不会出这个问题。
内容的提问来源于stack exchange,提问作者S.M_Emamian
相关产品推荐
相关产品推荐

