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
相关推荐
城南vision1 小时前
计算机网络——HTTP篇
网络协议·计算机网络·http
‍。。。2 小时前
使用Rust实现http/https正向代理
http·https·rust
点点滴滴的记录12 小时前
RPC核心实现原理
网络·网络协议·rpc
程思扬13 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
海绵波波10714 小时前
Webserver(4.8)UDP、广播、组播
单片机·网络协议·udp
很透彻17 小时前
【网络】传输层协议TCP(下)
网络·c++·网络协议·tcp/ip
蝌蚪代理ip18 小时前
辩论赛——动态IP与静态IP的巅峰对决
网络·网络协议·tcp/ip·ip
田三番20 小时前
使用 vscode 简单配置 ESP32 连接 Wi-Fi 每日定时发送 HTTP 和 HTTPS 请求
单片机·物联网·http·https·嵌入式·esp32·sntp
dulu~dulu20 小时前
查缺补漏----用户上网过程(HTTP,DNS与ARP)
网络·网络协议·http
丶213621 小时前
【网络】HTTP(超文本传输协议)详解
网络·网络协议·http