python3遇到Can‘t connect to HTTPS URL because the SSL module is not available.

远程服务器centos7系统上有minicoda3,觉得太占空间,就把整个文件夹删了,原先的Python3也没了,都要重装。

我自己的步骤:进入管理员模式

1.下载Python3的源码:

wget https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz

2.解压

tar zxf Python-3.10.5.tgz

3.进入文件夹

cd Python-3.10.11

4.检查平台属性

./configure

5.编译和安装

make && make install

6.建立软链接

可以先看下Python的安装位置

whereis python

ln -sf /usr/python/bin/python3(python 安装目录) /usr/bin/python

7.测试

python -V

这里显示已经安装成功Python3。

8.安装pip

yum -y install epel-release

yum install python-pip

9.由于yum必须要Python2才能执行,所以要修改配置文件的首行,明确其为Python2

先是

vi /usr/bin/yum

进入该文件后,把

#! /usr/bin/python

修改为

#! /usr/bin/python2

再将

vi /usr/libexec/urlgrabber-ext-down

的首行进行相同操作,保存。

即可正常使用yum

之后我还将pip3链接到全局,这样就能正常使用pip了

sudo ln -s /usr/local/bin/pip3 /usr/bin/pip

还配置了pip源,步骤是

新建文件:

mkdir -p ~/.pip

touch ~/.pip/pip.conf

vim ~/.pip/pip.conf

编辑文件内容:

global

index-url=https://pypi.tuna.tsinghua.edu.cn/simple/

extra-index-url=

http://pypi.douban.com/simple/

http://mirrors.aliyun.com/pypi/simple/

#proxy = user:passwd@proxy.server:port

install

trusted-host=

pypi.tuna.tsinghua.edu.cn

pypi.douban.com

mirrors.aliyun.com

ssl_verify: false

完成之后,测试了pip安装第三方包,大部分之间会出现重连失败,原因是Python的ssl缺失,只有偶尔才会成功安装。

弄了近一天后,我直接把上面这个配置源删了,同时安装openssl和所有的依赖,但是都没见效。

最后的解决方法:

1.观察到ssl在Python2里有,但是3没有,测试方法:

import ssl

print(ssl)

不报错就是有

2.找到自己的openssl的安装目录

whereis openssl

把安装目录复制,打开Python3的安装目录下的Modules/Setup

vim Modules/Setup

去掉这些ssl的注释,把ssl的值更换为自己的安装目录

然后再重新编译安装Python3

cd Python-3.10.11

./configure --with-ssl

make

sudo make install

问题解决。

其实应该先装openssl的,参考

https://blog.csdn.net/zltliqi/article/details/126449120

体验了一天的Linux操作,学到了。

参考:

  1. https://blog.csdn.net/sinat_36184075/article/details/80357542
  2. https://blog.csdn.net/YMY_mine/article/details/103804365
  3. https://huaweicloud.csdn.net/6380687ddacf622b8df86ef6.html?spm=1001.2101.3001.6650.6\&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-6-123628224-blog-109078288.235^v39^pc_relevant_yljh\&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-6-123628224-blog-109078288.235^v39^pc_relevant_yljh\&utm_relevant_index=7
  4. https://zhuanlan.zhihu.com/p/435276410
  5. https://blog.csdn.net/Jackie_vip/article/details/105762378
  6. https://blog.csdn.net/zltliqi/article/details/126449120
  7. https://blog.csdn.net/feosun/article/details/73196299
  8. https://zhuanlan.zhihu.com/p/640390600
  9. https://www.zhihu.com/tardis/zm/art/491817098?source_id=1005
相关推荐
Lsetea9 小时前
Nginx报No required SSL certificate was sent:mTLS客户端证书排查
运维·nginx·https·ssl·openssl
K成长日志16 小时前
DALI协议-Part209-颜色控制
物联网·网络协议·iot·智能照明·智能建筑·dali
ZeroNews内网穿透17 小时前
内网部署 Halo 建站,用 ZeroNews 免费内网穿透安全发布到公网(无公网 IP 也能 HTTPS 访问)
docker·https·内网穿透·nas·反向代理·halo·zeronews
IPdodo_1 天前
跨境 API 调用不稳定怎么办:出口、超时重试与链路监控的实践
网络·python·网络协议
szephyr1 天前
HTTPS 证书申请与自动续期:acme.sh + Let‘s Encrypt 完整记录
nginx·https·acme.sh·证书续期
那年窗外下的雪.2 天前
AIDC 学习日志|第 27 天|EVPN 多归属收敛时间线与 Leaf2 接管验证
网络协议·学习·http·tcpdump
j7~2 天前
【Linux】三十八.C++ 手写 HTTP 服务器:裸 socket + fork 多进程,从 HTTP 报文解析到浏览器打开网页
linux·网络·网络协议·学习·http·网络编程
Lsetea2 天前
部署证书后提示“证书名称与输入不匹配”:Safari 报错的三层排查
nginx·https·safari·ssl证书·openssl
小则又沐风a2 天前
深入理解TCP协议----滑动窗口,流量控制
linux·网络协议·tcp
captain3762 天前
网络原理(9)-数据链路层
java·网络协议·java-ee