python3.7安装后ssl问题
admin
2023-07-23 17:22:15
0

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

相关内容

热门资讯

“痛”!男子往尿道塞入25cm... 人类对身体的好奇心有多重?看看今天这个案例就知道!28岁的林先生(化名)出于好奇,往尿道里塞了一根长...
黄岩岛蓝洞调查报告发布 生态环境部6月25日发布《2025年黄岩岛蓝洞调查报告》。报告显示,黄岩岛蓝洞属于世界罕见的珊瑚礁生...
特别关注·从前慢·旧物志③丨河... 正在打铁的李留柱。李留柱使用的打铁工具。正在切割铁块的李留柱。铁锤落下时,火星溅在李留柱的脸上,映出...
关注全国老年健康宣传周丨别让一... “降压药早上吃还是晚上吃效果好?”“中药和西药间隔多久吃才不冲突?”……6月23日,在河南中医药大学...
探寻河南党史里的第一次丨东方红... 暑期临近,位于洛阳市涧西区的东方红农耕博物馆里,一批批参加研学的青少年走进这座红色工业地标,沉浸式触...
中国河南国际集团吸收合并河南资... 【大河财立方消息】 6月24日,河南省自然资源投资集团有限公司(以下简称河南资源集团)发布公告称,公...
总书记谆谆嘱托基层党组织进一步... 原标题:第一观察|总书记谆谆嘱托基层党组织进一步发挥党建引领作用6月24日,习近平总书记在山东德州考...
刚刚,河南高考分数段统计表公布 【大河财立方消息】6月25日,河南省教育考试院公布了河南省2026年高招“分数段统计表”(一分一段表...
纸尿裤含毒“无标准就没责任”?... 作者:秦新安近日,多个婴幼儿纸尿裤品牌“被检出甲酰胺”的消息引发公众关注。由于我国现行婴儿纸尿裤相关...
委内瑞拉全国进入紧急状态 强震发生后,当地时间6月24日晚,委内瑞拉代总统德尔西·罗德里格斯发表全国讲话,呼吁灾后民众保持团结...