前言:
因为部署项目所需,经常需要安装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
搞定收工!
来源:CSDN
作者:__python__
链接:https://blog.csdn.net/qq_42805358/article/details/103991134