centos7 python3.7 ssl_centos7 安装python3.6以上版本解决openssl问题

在centos7系统中,安装原来的办法安装python3.6,在使用request库 时,系统会提示

报错信息: Can't connect to HTTPS URL because the SSL module is not available

问题分析:

查看系统openssl版本:

[root@zj ~]# openssl version -a

OpenSSL 1.0.1e

百度后发现ssl版本必须要是1.1或者1.0.2之后的版本,或者安装了2.6.4之后的libressl。

开始探索之路:

方法一:

1、下载openssl-1.0.2h.tar.gz

wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz

2、更新zlib

yum install -y zlib

3、解压安装

tar zxf openssl-1.0.2h.tar.gz

cd openssl-1.0.2h

./config shared zlib

make && make install

mv /usr/bin/openssl /usr/bin/openssl.bak

mv /usr/include/openssl /usr/include/openssl.bak

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/ssl/include/openssl /usr/include/openssl

echo “/usr/local/ssl/lib” >> /etc/ld.so.conf

ldconfig -v

4、查看是否升级成功

[root@zj ~]# openssl version -a

OpenSSL 1.0.2h 3 May 2016

重新安装python,加上这个 –with-ssl

./configure –prefix=/usr/local/Python3.71 –with-ssl

make&make install

开始校验:

导入ssl模块没有报错即可

方法二:

1.编译安装OpenSSL 1.0.2j版本并重新配置环境变量

下载OpenSSL源码包:(在/usr/local/python3下执行)

wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz

解压缩,编译安装:

tar -zxvf openssl-1.0.2j.tar.gz

cd openssl-1.0.2j

# 修改编译参数,no-zlib 不需要zlib

./config --prefix=/usr/local/python3/openssl-1.0.2j no-zlib

make && make install

2.重新编译安装python3.6.2

tar -zxvf Python-3.6.2.tgz

cd Python-3.6.2

./configure --prefix=/usr/local/python3

在这一步之后,先不要着急运行make命令。先修改源码目录 Python-3.6.2/Modules/Setup 文件:

[root@localhost ~]# vim Modules/Setup

# Socket module helper for socket(2)

#_socket socketmodule.c

# Socket module helper for SSL support; you must comment out the other

# socket line above, and possibly edit the SSL variable:

SSL=/usr/local/lab/openssl-1.0.2j/ #取消这一行的注释,并将原来的/usr/local/ssl改为我们新安装的openssl目录:/usr/local/python3/openssl-1.0.2j/

_ssl _ssl.c \ #取消这一行的注释

-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ #取消这一行的注释

-L$(SSL)/lib -lssl -lcrypto #取消这一行的注释

最后重新编译安装python3:

make& make install

再次导包,成功安装

入坑完毕。

标签:centos7,1.0,make,openssl,python3.6,ssl,usr,local

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值