解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available


Posted in Python onJuly 31, 2019

简述

从官网下载了Python3.7.4,直接编译安装后,使用pip3出现了报错信息: Can't connect to HTTPS URL because the SSL module is not available

错误原因

在Python3.7之后的版本,依赖的openssl,必须要是1.1或者1.0.2之后的版本,或者安装了2.6.4之后的libressl。

解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available

image.png

而本地的openssl依然是1.0.1e的。

[root@localhost ~]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013

解决方法

上openssl官网下载1.0.2或者1.1之后的openssl包,编译安装。我选择的是1.0.2r。

[root@localhost ~]# wget http://www.openssl.org/source/openssl-1.0.2r.tar.gz
[root@localhost ~]# tar zxvf openssl-1.0.2r.tar.gz
[root@localhost ~]# ./config --prefix=/opt/openssl1.0.2r --openssldir=/opt/openssl1.0.2r/openssl no-zlib
[root@localhost ~]# make && make install
[root@localhost ~]# echo "/opt/openssl1.0.2r/lib" >> /etc/ld.so.conf
[root@localhost ~]# ldconfig -v

注意:编译openssl1.0.2r的时候建议加上no-zlib,否则后面可能会出现undefined symbol: SSL_CTX_get0_param错误

安装python3.7

下载Python包,编译

[root@localhost ~]# wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz
[root@localhost ~]# tar xvf  Python-3.7.4.tar.xz
[root@localhost ~]# cd Python-3.7.4;./configure --prefix=/data/tools/Python3.7.4

编译完成后不要make,先修改Python源码包中ssl的参数

打开源码解压目录中的 Modules/Setup ,直接搜索 SSL= ,将SSL=后面的目录改为前面openssl的安装目录,并把下面三行的注释去掉。

[root@localhost ~]# vim Modules/Setup
SSL=/opt/openssl1.0.2r
_ssl _ssl.c \
    -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
    -L$(SSL)/lib -lssl -lcrypto

改完之后就在解压目录直接make就行了。

[root@localhost ~]# make && make install
[root@localhost ~]# echo "export PATH=/data/tools/Python3.7.4/bin:$PATH" >> ~/.bashrc
[root@localhost ~]# source ~/.bashrc
[root@localhost ~]# pip3 list
Package  Version
---------- -------
pip    19.0.3 
setuptools 40.8.0 
You are using pip version 19.0.3, however version 19.2.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

总结

以上所述是小编给大家介绍的解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python实现霍夫圆和椭圆变换代码详解
Jan 12 Python
python入门教程 python入门神图一张
Mar 05 Python
python实现判断一个字符串是否是合法IP地址的示例
Jun 04 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
Jan 04 Python
Python3 批量扫描端口的例子
Jul 25 Python
执行Django数据迁移时报 1091错误及解决方法
Oct 14 Python
python内打印变量之%和f的实例
Feb 19 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
Feb 26 Python
Python实现aes加密解密多种方法解析
May 15 Python
Python应用实现处理excel数据过程解析
Jun 19 Python
python脚本第一行如何写
Aug 30 Python
Python中np.random.randint()参数详解及用法实例
Sep 23 Python
numpy中的meshgrid函数的使用
Jul 31 #Python
pandas的排序和排名的具体使用
Jul 31 #Python
pandas如何处理缺失值
Jul 31 #Python
详细介绍pandas的DataFrame的append方法使用
Jul 31 #Python
使用pandas读取文件的实现
Jul 31 #Python
python3实现mysql导出excel的方法
Jul 31 #Python
Django接收post前端返回的json格式数据代码实现
Jul 31 #Python
You might like
php获取网页请求状态程序示例
2014/06/17 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
php使用curl实现ftp文件下载功能
2017/05/16 PHP
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
JS 的应用开发初探(mootools)
2009/12/19 Javascript
js string 转 int 注意的问题小结
2013/08/15 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
Javascript中arguments对象详解
2014/10/22 Javascript
Underscore.js常用方法总结
2015/02/28 Javascript
jquery实现像栅栏一样左右滑出式二级菜单效果代码
2015/08/24 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
vue实现添加标签demo示例代码
2017/01/21 Javascript
angularjs使用directive实现分页组件的示例
2017/02/07 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
2017/08/09 jQuery
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
Python+Opencv识别两张相似图片
2020/03/23 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
2017/09/05 Python
python 自定义对象的打印方法
2019/01/12 Python
详解Python中is和==的区别
2019/03/21 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
python3 mmh3安装及使用方法
2019/10/09 Python
Django model重写save方法及update踩坑详解
2020/07/27 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
物业管理求职自荐信
2013/09/25 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
聘任证明怎么写
2015/03/02 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
个人催款函范文
2015/06/23 职场文书
Django + Taro 前后端分离项目实现企业微信登录功能
2022/04/07 Python