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源码编译。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
遇到的问题是由于缺少 _ssl 模块导致的 ModuleNotFoundError。出现这个错误通常是由于 Python 编译没有正确地配置 SSL 支持。 解决这个问题的一种方法是重新安装 Python,确保在编译正确配置了 SSL 支持。您可以按照以下步骤尝试解决问题: 1. 首先,请确认您使用的是完整版的 Python 安装程序。某些轻量级版本可能没有包含 _ssl 模块。 2. 如果您已经安装了完整版的 Python,请尝试重新安装它。在安装过程中,请确保选择了“Add Python to PATH”选项,以便在安装完成后可以在命令行中访问到 Python。 3. 如果重新安装没有解决问题,您可以尝试升级或降级 Python 版本。有候,特定版本的 Python 可能会出现 _ssl 模块的问题。 4. 如果您使用的是 Windows 系统,可以尝试手动编译 _ssl 模块。首先,您需要确保已经安装了 Microsoft Visual Studio(或者使用 Visual Studio Build Tools)。然后,按照以下步骤进行操作: - 在开始菜单中找到“x64 Native Tools Command Prompt for VS <version>”或者“x86 Native Tools Command Prompt for VS <version>”,打开一个命令提示符。 - 进入 Python 安装目录的“\Tools\Scripts”文件夹。 - 运行命令 `python -m pip install --upgrade pip` 更新 pip。 - 运行命令 `python -m pip install --upgrade setuptools` 更新 setuptools。 - 运行命令 `python -m pip install --upgrade wheel` 更新 wheel。 - 运行命令 `python -m ensurepip --upgrade` 确保 pip 已经安装并更新到最新版本。 - 运行命令 `pip install pyopenssl ndg-httpsclient pyasn1` 安装所需的依赖包。 - 进入 Python 安装目录的“\Lib”文件夹。 - 运行命令 `python -m pip install cryptography` 安装 cryptography 包。 - 最后,尝试运行您的代码,看是否仍然出现错误。 请注意,这些解决方法可能因操作系统和环境而异。如果以上方法都没有解决问题,建议您搜索相关错误信息以获取更多帮助,或者向 Python 社区寻求支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值