解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
作者:whisshe
这篇文章主要介绍了解决安装python3.7.4报错Can't connect to HTTPS URL because the SSL module is not available,本文给大家简单分析了错误原因,给出了解决方法,需要的朋友可以参考下
简述
从官网下载了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。
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报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
- python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
- Python报错:PermissionError: [Errno 13] Permission denied的解决办法
- Python使用pip安装报错:is not a supported wheel on this platform的解决方法
- python报错: ''list'' object has no attribute ''shape''的解决
- 解决python报错MemoryError的问题
- 解决Python中报错TypeError: must be str, not bytes问题
- Python运行报错UnicodeDecodeError的解决方法
- python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
- 一文带你解决Python中的所有报错