• Python3中无法导入ssl模块的解决办法


    这个问题,已经困扰我好几天了,本萌新刚开始接触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的开发包。

  • 相关阅读:
    链堆栈的实现
    关于HyperLink的NavigateUrl属性的链接地址参数设置
    //yield return用于无缝实现迭代模式。
    NUnit的使用
    非常不错的数据访问架构
    Dictionary应用
    针对数据分析没态度的几句牢骚
    微软算法面试题(4)
    程序员面试题精选100题(60)判断二叉树是不是平衡的
    C++设计模式单件
  • 原文地址:https://www.cnblogs.com/mlgjb/p/7976561.html
Copyright © 2020-2023  润新知