python3安装完,出现 No module named '_ssl',解决方案

倖福魔咒の 提交于 2020-01-16 01:30:41

前言:

因为部署项目所需,经常需要安装python3,有时安装完启动项目的时候就会出现 No module named ‘_ssl’ 这样的问题(有时会出现,有时又没问题),每每遇到都是辗转反侧,难以入睡。解决了一两次还是不知所以然,这次猛然的机会又遇到了,而且是找到了根本所在,甚是开心,决定记录一下。
废话就说这么多,进入正题。如果你也遇到这个问题,根据如下步骤尝试,相信你会有所收获。

一、 查看系统信息(这一步很关键)

在这里插入图片描述

确定了系统才能知道需要下载什么版本的依赖!!!

二、 查看openssl的信息,看看都缺什么

百度上就知道让你安装这个安装那个,有可能你根本就不缺那个东西,所以需要先查看一下,你到底需要什么!
这个是centos6.6系统的

在这里插入图片描述
这个是centos7.6的
在这里插入图片描述

其中 openssl-1.0.***x86_64 和openssl-devel***x86_64 这两个是必须的,如果没有,那就去下载。
http://archive.kernel.org/centos-vault/6.6/os/x86_64/Packages/
http://archive.kernel.org/centos-vault/7.6.1810/os/x86_64/Packages/
这两个地址里面的东西是相当全乎的,免费送给大家。
安装这两个东西的时候可能会缺少依赖,在地址中仔细找找,都有的。

尤其要注意的是,python3需要的openssl版本最少是1.0.2的,需要的这里领一下。
链接: https://pan.baidu.com/s/1LXHH60Zv1-vOcvIXZ1pjfg 提取码: g8uq
下载完解压,进到openssl1.0.2目录中
./config –prefix=/usr/local/openssl # 指定的安装目录很重要,一会要用

make
make install

三、 查看安装的openssl在哪

在这里插入图片描述

其中/usr/include/openssl 是安装完openssl-devel 会出现的

四、 下载你要安装的python3的安装包

这里有python3.6.0,需要的自己拿。
链接: https://pan.baidu.com/s/1qF_xfn2Itzk-7wXWO20Lcw 提取码: q5zk
解压后,进到Python-3.6.0目录,
有Modules这个目录,cd Modules,找到Setup.dist这个文件,vi Setup.dist 打开
找到
在这里插入图片描述
修改成下面的样子
在这里插入图片描述
这几句注释去掉,并把路径改成/usr/local/ #很关键

五、 安装python3

回到Python-3.6.0 目录,
./configure –prefix=/usr/local/python3 千万不要相信一些加 –with-openssl的,根本就没这个参数。
然后

make && make install

建立软连接方便使用

ln –s /usr/local/python3/bin/python3 /usr/bin/python3

如果失败,查看/usr/bin/下是否已经存在python3连接,存在则删掉,重新执行以上命令。

六、 安装完查看openssl

在这里插入图片描述

搞定收工!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!