【Crypto】Mac OS python3安装Crypto后,找不到模块No module named ‘Crypto‘与解决

前言

我们在成功Crypto安装后,经常会遇到问题:使用from Crypto.PublicKey import RSA导入时,提示并没有Crypto库,找不到对应模块:

在这里插入图片描述

我的python3为了方便管理和配置环境是安装在资源库(/Library)的/Frameworks路径下的,请找到自己电脑python3对应版本的安装路径。

报错:ModuleNotFoundError: No module named ‘Crypto’

  • 为了避免出错,首先卸载已经下好的crypto:
pip3 uninstall crypto
  • 安装:
python3 -m pip install Crypto

安装后去去相应环境下的site-packages文件夹下,发现包名是小写的(crypto,crypto-1.4.1.dist-info),由于在python3代码中通常使用如下方式引用该代码库,我们需要将首字母修改为大写。

  • 路径例:
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages
  • 修改后:

请添加图片描述

  • 然后安装模块:
pip3 install PyCryptodome

安装完成~

如果遇到报错( ImportError: cannot import name ‘DerBitString’ from ‘Crypto.Util.asn1’):

/PublicKey/__init__.py", line 21, in <module>
    from Crypto.Util.asn1 import (DerSequence, DerInteger, DerBitString,
ImportError: cannot import name 'DerBitString' from 'Crypto.Util.asn1' 

原因

同时安装了PyCrypto和PyCryptodome导致的冲突

解决

先将两个模块卸载,然后再安装一个:

  • 卸载PyCrypto
pip3 uninstall PyCrypto
  • 卸载PyCryptodome
pip3 uninstall PyCryptodome
  • 安装PyCryptodome
pip3 install PyCryptodome

然后就可以正常使用了~

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值