从官网下载了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
查看版本:
[root@localhost ~]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
解决方法:
上openssl官网下载1.0.2或者1.1之后的openssl包,编译安装。我选择的是1.0.2r。
下面展示一些
内联代码片
。
[root@localho
st ~]# 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
cd Python-3.6.2./configure --with-ssl
编译完成后不要make,先修改Python源码包中ssl的参数
打开源码解压目录中的 Modules/Setup ,直接搜索 SSL= ,将SSL=后面的目录改为前面openssl的安装目录,并把下面三行的注释去掉。
[root@localhost ~]# vim Modules/SetupSSL=/opt/openssl1.0.2r_ssl _ssl.c \\-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \\-L$(SSL)/lib -lssl -lcrypto
改完之后就在解压目录直接make就行了。
make && make installpip3 list
如果还是不行:
vim /etc/profile
配置环境变量就ok了
exprot OPENSSL_HOME=/opt/openssl1.0.2rexport PATH=$PATH:$OPENSSL_HOME/bin
source /etc/profile