python3.7安装后ssl问题

pip3报错

安装python3.7.0后发现使用pip会出现如下报错:

[root@localhost ~]# /usr/local/python3/bin/pip3 install virtualenv
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting virtualenv
  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/
  Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/
  Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/
  Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/
  Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/virtualenv/
  Could not fetch URL https://pypi.org/simple/virtualenv/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/virtualenv/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
  Could not find a version that satisfies the requirement virtualenv (from versions: )
No matching distribution found for virtualenv
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

由于我的系统是CentOS release 6.7,所有openssl的版本为OpenSSL 1.0.1e-fips 11 Feb 2013,而python3.7需要的openssl的版本为1.0.2或者1.1.x,需要对openssl进行升级,并重新编译python3.7.0

升级openssl

1.下载最新版openssl

https://www.openssl.org/source/openssl-1.1.1-pre8.tar.gz

2.编译安装

cd openssl-1.1.1-pre8
./config --prefix=/usr/local/openssl no-zlib #不需要zlib
make
make install

3.备份原配置

[root@s2-hadoop-test ~]# mv /usr/bin/openssl /usr/bin/openssl.bak
[root@s2-hadoop-test ~]# mv /usr/include/openssl/ /usr/include/openssl.bak

4.新版配置

#将安装好的openssl 的openssl命令软连到/usr/bin/openssl
[root@s2-hadoop-test ~]# ln -s /usr/local/openssl/include/openssl /usr/include/openssl
#软链到升级后的libssl.so
[root@s2-hadoop-test ~]# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so

#将安装好的openssl命令软连到/usr/bin/openssl
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

5.修改系统配置

#写入openssl库文件的搜索路径
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
#使修改后的/etc/ld.so.conf生效 
ldconfig -v

6.查看openssl版本

openssl version
OpenSSL 1.1.1-pre8 (beta) 20 Jun 2018

重新安装python

注意:需要指定openssl的安装路径,--with-openssl

./configure --prefix=/usr/local/python37 --with-openssl=/usr/local/openssl
make
make install

原创文章,作者:DBIWG,如若转载,请注明出处:http://www.wangzhanshi.com/n/16568.html

(0)
DBIWG的头像DBIWG
上一篇 2025年1月2日 12:39:22
下一篇 2025年1月2日 12:39:26

相关推荐

  • linux中如何使用OpenSSL来处理SSL证书

    OpenSSL 是一个多功能的命令行工具,可以用于与公钥基础设施(Public Key Infrastructure)(PKI)和 HTTPS(HTTP over TLS)相关的大…

    ssl证书 2025年1月2日
  • openssl证书的作用是什么

      没有SSL证书的网站在浏览器地址栏的网站地址前显示http://,它是传统的信息传输方式,缺乏安全性,有SSL证书的网站在地址栏以https://和一个挂锁图标开头。     …

    ssl证书 2025年1月2日
  • ssl证书的好处有哪些,对网站有什么作用呢?

    如果网站连基本的安全防护都没有,此时的安全性就无法保障,所以为了给网站安全保驾护航,直接给网站配置ssl证书是很好的。另外,ssl证书的好处有很多,所以给网站配置ssl证书是有必要…

    2025年1月2日
  • Openssl及加密解密(二)openssl

    openssl是一个条件实现了上百种算法、实现了单向加密工具等一组套件,代码量很小但是功能强大。它有三部分组成: libcrypto:通用功能的加密库,软件开发时可以直接调用 li…

    2025年1月2日
  • SSL证书认证能带来什么好处

    SSL证书认证在当今国内乃至全球都形成了一种风潮,国际上最大的SSL证书提供商是VeriSign,据统计,目前在用服务器证书数量超过100万张,包括各大网站:亚马逊、美国在线、雅虎…

    2025年1月2日
  • SSL证书中EV指的是什么

    众所周知的是,SSL证书的分类很多,其中比较多人认可的一种SSL就是EV证书了,那么这种EV SSL证书怎么用呢,到底有什么作用呢,下面就来看看关于EV SSL证书的情况。 其实E…

    2025年1月2日
  • SSL证书作用是什么

    SSL证书在网络上的运用越来越广泛,在互联网上的运输保证较其他加密措施来说,SSL证书较能获得互联网消费者的青睐,网友们的数据信息更能获得保障。很多新晋网友也将选择SSL证书安装。…

    2025年1月2日
  • 为什么会出现ERR_SSL_PROTOCOL_ERROR

    不少站长可能在Nginx中安装部署SSL证书时,会遇到“ERR_SSL_PROTOCOL_ERROR”的错误代码提示。到底什么原因导致这个错误代码的出现?下面为大家详细解答。 出现…

    2025年1月2日
  • SSL证书公钥是什么

    一般来说,当我们在网上浏览网页或电子商务贸易时,通常使用HTTP进行数据通信,但同时它也有自己的弊端。例如,当你浏览的HTTP网站时,它其中所包含的内容将会被明文传输。明文传输有着…

    2025年1月2日
  • NetScaler创建多域名证书(SAN)

    1.通过修改下面代码为自己需求的字段,在本地计算机上创建一个OpenSSL配置文件。注1:在本文中使用的示例中,配置文件名为“req.conf”。注2:“req_extension…

    ssl证书 2025年1月20日

发表回复

登录后才能评论