zoukankan      html  css  js  c++  java
  • Centos6-7安装Python3.5以及SSL的编译安装,识别https

    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的开发包

  • 相关阅读:
    9.堆排序
    8.全排列
    37.微信跳一跳辅助开发(C语言+EasyX)
    7.图形化实现快速排序法
    codeforces 632A A. Grandma Laura and Apples(暴力)
    codeforces 633D D. Fibonacci-ish(dfs+暴力+map)
    codeforces 633B B. A Trivial Problem(数论)
    codeforces 633A A. Ebony and Ivory(暴力)
    codeforces 622B B. The Time
    codeforces 622D D. Optimal Number Permutation(找规律)
  • 原文地址:https://www.cnblogs.com/itfat/p/8110751.html
Copyright © 2011-2022 走看看