Python3中无法导入ssl模块的解决办法
如果你发现在python3脚本运行过程中发现涉及到ssl模块都无法运行的情况下。那么需要进行如下步骤
第一步:
yum install openssl openssl-devel -y
第二步:
这个问题,已经困扰我好几天了,本萌新刚开始接触python,想爬取几个网页试试
发现urllib无法识别https,百度后才知道要导入ssl模块,可是发现又报错了
本人实在无法理解为什么会报错,因为ssl模块确实在lib/python3.6这个目录下,
求助度娘后,才知道python中要使用ssl需要有openssl作为前置,
于是安装openssl,但是发现openssl已经安装了,进入到系统自带那个
python2.7中,发现导入ssl没有报错,
到这个时候已经能大致确定原因了,就是python3在安装的过程中无法使用openssl,
根据网上的一些博客的做法,要进入到python源码包解压后的那个目录下的Modules/Setup
注意Setup这个文件,只有在python完成安装后才会生成这个文件
用vim编辑,找到上图部分,把上图横线部分部分的#给去掉
然后再编译 make
安装 make install
但是这个时候又特么悲剧的报错了,说是找不到openssl/rsa这个文件,
百度之后,说是缺少openssl的开发包,因为你尝试编译的程序使用openssl
但是缺少和openssl链接的库与头文件,需要安装openssl的开发包。
因为我使用的是linuxmint,是基于ubantu的发行版,需要安装openssl-dev
安装:apt-get install openssl-dev
再来编译 make
安装 make install
这两步是对已近安装的python再进行覆盖安装
到此为止问题就解决了
总结一下:
当你发现无法导入ssl的时候
首先检查一下,是否安装了openssl
再来检查一下是否安装openssl的开发包