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,如若转载,请注明出处:https://www.wangzhanshi.com/n/16568.html

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

相关推荐

  • openssl做一个CA(1)

           SSL,Security Socket Layer,是一个安全传输协议,在Internet网上进行数据保护和身份确认…

    2025年1月2日
  • 如何查看并且更新ssl证书

    怎么查看SSL证书?其实IE浏览器下载和管理方法您电子计算机上全部SSL证书到相同部位。这种证书是根据电脑浏览器中选择项显示屏管理方法的。假如您想明确已经应用的SSL版本号,您能够…

    2025年1月2日
  • Linux系统上怎么用源码安装OpenSSL

    先下载openssl 1.0.1g版本,命令如下:     代码如下: #wget  -c    https://www…

    ssl证书 2025年1月2日
  • OpenSSL 1.1.1发布 正式支持TLS1.3

    在经历两年的修补改进后,OpenSSL于近日发布了1.1.1版本并承诺至少投入5年的时间支持该版本。 OpenSSL的Matt Caswell在博文中感谢了对OpenSSL近500…

    2025年1月2日
  • nginx配置ssl证书的流程步骤

    一、申请证书 首先,大家需要先到阿里云的云服务商处申请一个SSL免费证书。要提醒站长们,亚洲诚信机构颁发的SSL证书,一个域名对应一个证书,子域名需要另外申请。然后下载的是一个zi…

    ssl证书 2025年1月2日
  • linux中OpenSSL密码学基础知识有哪些

    OpenSSL 简史 安全套接字层Secure Socket Layer(SSL)是 Netscape 在 1995 年发布的一种加密协议。该协议层可以位于 HTTP 之上,从而为…

    ssl证书 2025年1月2日
  • 阿里云部署SSL证书详解

    查找中间证书 为了确保兼容到所有浏览器,我们必须在阿里云上部署中间证书,如果不部署证书,虽然安装过程可以完全也不会报错,但可能导致Android系统,Chrome 和 Firefo…

    2025年1月2日
  • openssl常用加密算法有哪些

    1、对称加密算法 所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。 分类 常用的算法…

    ssl证书 2025年1月2日
  • OpenSSL生成自签名证书的方法有哪些

    OpenSSL的命令行数量很庞大,很吓唬人。 这是因为OpenSSL所涉及到的领域的确很多,比如各种对称/非对称算法,随机数,签名,加密,证书,结构分析,PKI体系的构建等,这些领…

    ssl证书 2025年1月2日
  • SSL证书对企业网站的优势

    目前网站使用最多的是HTTP协议,用于从www服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。但它有一个很大的缺点:传输过程中的所有信息和数据都是明…

    ssl证书 2025年1月2日

发表回复

登录后才能评论