在执行Python脚本时,出现报错信息:
urllib3.exceptions.SSLError: Can't connect to HTTPS URL because the SSL module is not available.
百度翻译:无法连接到HTTPS URL,因为SSL模块不可用。
其实是因为系统是CentOS 6 ,openssl的版本为OpenSSL 1.0.1e,但是Python3.7需要的openssl的最低版本为1.0.2,需要对openssl进行升级,并且重新编译python3.7.6。
openssl官网地址:www.openssl.org
wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2r.tar.gz
#也可以下载好,通过xftp或者rz上传至服务器中
tar -zxvf openssl-1.0.2r.tar.gz -C /usr/local/
cd /usr/local/openssl-1.0.2r
./config shared zlib
make && make install
#编译安装
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
#备份
ln -sf /usr/local/ssl/bin/openssl /usr/bin/openssl #建立新的软链接 usr/local/ssl/为安装路径
ln -sf /usr/local/ssl/include/openssl /usr/include/openss #建立新的软链接 usr/local/ssl/为安装路径
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf #写入openssl库文件的搜索路径
ldconfig -v #使修改后的/etc/ld.so.conf生效
openssl version #查看新版
重新编译Python 3.7.6
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/ssl #配置安装目录 --with-openssl配置ssl的路径
make && make install #编译安装