报错详情:

操作系统为centos7,python版本为3.10.7,openssl版本为3.0.5,运行gunicorn报No module named '_ssl'

ModuleNotFoundError:No module named '_ssl'

原因就是python3.10和openssl3.0.5的版本配置文件跟以前有点区别,python3.10的版本OPENSSL不再是/usr/local/ssl 的默认路径,变成了/path/to/openssl/directory,已经提示得很明白了让你在这里写入openssl的路径。而openssl3.0.5目录里面没有lib这个文件夹,变成了lib64,注意这个变化,在建立软链接的时候一定要写lib64不能写成lib.

解决办法:

1.cd 入解压后的Python文件目录,打开Python-3.10.7/Modules/目录下的Setup文件

vi  Python-3.10.7/Modules/Setup 

2.关键来了,找到段代码大概在文件的70%左右的位置,把下面5句代码的注释取消,还有两个地方的路径要修改。一是OPENSSL后面的路径改成你自己的openssl目录,我的是/urs/local/openssl,这里原本是OPENSSL=/path/to/openssl/directory。二是蓝色框里面的要改成lib64,其它的不要动保存。我的openssl版本是3.0.5,如果不是的话蓝色框这里的不改,如果不确定的话,可以打开你的openssl目录查看,是lib还是lib64.

 3.删除python原来的安装目录,重新编译安装python。然后运行Python,import ssl 如果不报错,就成功。第三步不会的同学可以参考一下下面这篇文章。

希望能帮到遇到同样问题的同学。

道阻且艰,行则将至!致所有的自学者!

https://blog.csdn.net/sinat_34149445/article/details/105387170

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐