python3安装,支持openssl,支持采集https

坑好多,特别是安装的时候,各种不匹配,服务器默认配置是python2,升级3后,采集的时候用到openssl,花了两天也没搞定各种错误,也许是对linux了解不够,openssl与python总是匹配不上,哎,最终还是莫名其妙的成功了,还是最开始的方法,用的是LibreSSL 2.8.0替代的openssl,但刚开始装上怎么都不行,后来才可以,感觉还是对linux不了解导致。

总结一下:安装python3.7

首先我的服务器linux缺少关联程序

安装 libffi-deve

yum install libffi-devel -y

如果上面安装失败则安装下面

先安装wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libffi-devel-3.0.13-18.el7.x86_64.rpm
rpm -ivh libffi-devel-3.0.13-18.el7.x86_64.rpm --nodeps

安装升级openssl

python3.7的ssl模块(ssl用来采集https后缀的链接)必须用openssl并且版本必须大于等于1.02或者libressl2.64(不含)以后的版本,而默认linux的是1.01
openssl貌似有漏洞,而且试了安装确实不行,用/libressl-2.8.0来替代

安装libressl-2.8.0

wget https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.0.tar.gz
tar zxvf libressl-2.8.0.tar.gz
cd libressl-2.8.0/
./configure --prefix=/usr/local/ssllib
make
make install

cd /etc/ld.so.conf.d
新建文件
vim libressl-2.8.0.conf
#将以下行加入文件,并保存
/usr/local/ssl/liblib

ldconfig -v #重新加载库文件

把原来的命令建立新的硬连接
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/ssllib/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssllib/include/openssl /usr/include/openssl
运行命令看是否成功
openssl version
libressl-2.8.0 成功显示

安装python3.7

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1rc2.tgz
tar zxvf Python-3.7.1rc2.tgz
cd Python-3.7.1rc2
修改 Modules/Setup,让python支持ssl
vim Modules/Setup.dist
去掉前面的#

mkdir /usr/local/python37 安装到自定义目录

./configure --prefix=/usr/local/python37 --with-ssl //要确认libressl-2.8.0 成功显示

注意:如果此配置显示找不到ssl则要用另一个配置

./configure --prefix=/usr/local/python37  -with-openssl=/usr/local/ssllib

在make的时候有时候就算openssl显示正确的值,但python就是显示找不到,折腾到崩溃,最后才找到办法。。。


make
make install

移除原来的python命令
mv /usr/bin/python /usr/bin/python_old
建立新的python命令硬连接
ln -s /usr/local/python37/bin/python /usr/bin/python

测试:

python

import ssl

不报错则表示成功

ctrl+d退出命名

安装pip

python3.7自带的有pip只用建立快捷硬连接即可

ln -s /usr/local/python37/bin/pip3 /usr/bin/pip

python3安装,支持openssl,支持采集https的更多相关文章

  1. 【Python】CentOs7 Python3安装Openssl以及解决ssl问题

    一.安装OpenssL 1.下载的压缩包放在根目录 wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz 2.在文件夹下解压缩,得到open ...

  2. CentOs7 Python3安装Openssl以及解决ssl问题

    一.安装OpenssL 1.下载的压缩包放在根目录 wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz 2.在文件夹下解压缩,得到open ...

  3. 空间不支持openssl解决办法

    windows server2003 系统 IIS6.0 ,支付宝担保交易功能不能用,提示您的空间不支持openssl 解决办法如下:1.在C:\WINDOWS 下打开php.ini 将 extens ...

  4. net-snmp源码VS2013编译添加加密支持(OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  5. net-snmp源码VS2013编译添加加密支持(OpenSSL)(在VS里配置编译OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  6. PHPnow开启PHP扩展里openssl支持的方法

    PHPnow 是 Win32 下绿色的 Apache + PHP + MySQL 环境套件包.简易安装.快速搭建支持虚拟主机的 PHP 环境.更多介绍<PHP服务套件 PHPnow1.5.6&g ...

  7. centos7.0 64位系统 安装PHP5.3 支持 nginx

    1  安装PHP所需要的扩展 yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel curl cur ...

  8. centos6.5 64安装ffmpeg过程支持转码mp3

    百度了几个文章 大致知道了思路 首先yum源安装是木有的,只能编译安装了. 要安装ffmpeg要先安装一个yasm支持汇编优化(FFmpeg需要) 在安装一个lame,支持mp3的转码 那就是需要3步 ...

  9. 编译安装haproxy开启支持SSL

    1.下载程序包 # wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.5.tar.gz # tar xvf haproxy-1.7.5. ...

随机推荐

  1. [技术博客] Django中文件的保存与访问

    [技术博客] Django中文件的保存与访问 在TextMarking项目开发中,数据库需要保存用户上传的文本文档. 原型设计:用户点击上传文本->保存文本->文本发送到后端保存为文件. ...

  2. Spring Security 多过滤链的使用

    Spring Security 多过滤链的使用 一.背景 二.需求 1.给客户端使用的api 2.给网站使用的api 三.实现方案 方案一: 方案二 四.实现 1.app 端 Spring Secur ...

  3. 关于评论区empty。。。

    空荡荡的毫无人烟,博主希望路过的小哥哥/小姐姐(几率较小)留下些什么--

  4. cadence 技巧

    pcb中如何选中完整的一条网络? 1 edit  properties  右边 find nets 2 cadence 选中不同的网络高亮 display--->assign color在opt ...

  5. Flink计算pv和uv的通用方法

    PV(访问量):即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次. UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客.00:00-24:00 ...

  6. Tcpdump 常用命令、参数记录

    一.介绍 一个关于Centos  Tcpdump 的个人工作总结. 二.参数介绍: 1. -i:   指定要进行抓包的网卡 2.-s0 :表示每个报文的大小是接收到的指定大小,如果没有这个选项,则超过 ...

  7. 变量命名网站 Codelf

    程序员最头疼的事情除了头发以外就是给变量或函数命名,一开始学编程语言的时候还可以 abc.a1.x2 等方式命名,等到工作过程中开始真正的项目开发时,如果还是这样随意的命名,即使同事可以忍受你的 ab ...

  8. JavaScript高阶函数之filter、map、reduce

    JavaScript高阶函数 filter(过滤) 用法: 用于过滤,就是把数组中的每个元素,使用回调函数func进行校验,回调函数func返回一个布尔值,将返回值为 true 的元素放入新数组 参数 ...

  9. redis sentinel搭建

    /usr/local/bin /usr/local/etc https://www.centos.bz/2017/08/redis-3-x-sentinel-ha-service/ https://w ...

  10. 为什么建议使用你 LocalDateTime ,而不是 Date?

    在项目开发过程中经常遇到时间处理,但是你真的用对了吗,理解阿里巴巴开发手册中禁用static修饰SimpleDateFormat吗 通过阅读本篇文章你将了解到: 为什么需要LocalDate.Loca ...