Linux下使用python创建虚拟环境时遇到 No module named ‘_ssl‘处理方法

部署运行你感兴趣的模型镜像

目录

1.安装libssl-dev

2.修改python源文件编译

3.下载openssl 源码编译后再编译python

总结:


在linux下使用python3.7 并安装virtualenv,使用virtualenv创建虚拟环境的时候,报错

ModuleNotFoundError: No module named '_ssl'

解决方法如下,

1.安装libssl-dev

确认已经安装openssl,

sudo apt-get install libssl-dev

安装完以后重新编译python,如果可以正常使用则问题解决。如果安装的时候遇到了下面这个问题,

libssl-dev : Depends: libssl1.0.0 (= 1.0.2g-1ubuntu4) but 1.0.2g-1ubuntu4.15 is to be installed

可以参考这个博主的方法,不过评论区也说了可能会有风险,这里建议下载源码进行安装,具体可以参考本文的第3部分,下载openssl,在无管理员情况下使用源代码编译安装。

2.修改python源文件编译

如果还是不能解决,则需要修改python源文件了,具体的参考博文,即找到 python安装目录下的Modules文件夹下的Setup和Setup.dist文件

1493082-20190725152716256-828228405.png

将这两个文件上面加框的地方的注释去除掉,两个文件的处理方式是一样的,然后重新编译python即可。

3.下载openssl 源码编译后再编译python

在第2步的基础上,如果在编译的时候遇到下面这个问题

fatal error: openssl/rsa.h: No such file or directory

并且确认系统里已经有openssl了,但是却找不到openssl目录下的include文件夹及里面的文件,这个时候考虑下载openssl源代码自行编译(下载地址无需积分),这里建议使用非管理员权限安装的方法

解压openssl然后 进入目录下编译安装
./config --prefix=xxx
注意这里可能会提示你需要执行这个命令
make depend
如果有上面的提示就执行,否则直接执行下面的步骤
make -j && make install

 源码编译以后,按照常规方式配置 python 即 

./configure --prefix=python_dir

然后这个时候不要make,找到Makfile文件打开这个文件,修改SSL的内容为刚才安装的openssl位置

SSL=openssl_dir

然后再make -j && make install 即可

总结:

如果可以直接安装openssl 解决问题,那是最方便的了。如果不行的话,就得修改python源码,重新编译。再不行的话就就得下载openssl源码,编译,然后再修改python源码编译。

 

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值