遇到 ModuleNotFoundError: No module named 'Crypto' 错误,是因为未安装 Python 的密码学库 pycryptodome。以下是解决方案:


1. 安装正确的库
Crypto 库已停止维护,需安装替代库 pycryptodome

# 使用 pip 安装
pip install pycryptodome

# 如果系统中同时存在 Python 2 和 3,明确指定 pip3
pip3 install pycryptodome

2. 排查常见问题
情况 1:已安装但导入仍报错
如果已安装 pycryptodome,但代码中导入 Crypto 失败,可能是命名冲突。尝试以下操作:

# 卸载冲突的旧版本库
pip uninstall crypto pycryptodome

# 重新安装(确保名称正确)
pip install pycryptodome

情况 2:PyCharm 环境未配置
若使用 PyCharm,需在项目中手动添加依赖:

  1. 打开 File > Settings > Project: <项目名> > Python Interpreter
  2. 点击 +,搜索 pycryptodome 并安装。

情况 3:Windows 权限问题
以管理员身份运行命令提示符或 PowerShell,再执行安装命令。


3. 验证安装
在 Python 交互环境中测试是否安装成功:

>>> from Crypto.PublicKey import RSA
>>> RSA.generate(2048)  # 生成一个RSA密钥对,无报错即成功

4. 替代方案(不推荐)
如果坚持使用旧版 Crypto(仅限 Python 3.9 以下):

pip install pycrypto

但该库已多年未更新,可能存在安全漏洞或兼容性问题。


总结
通过以上步骤,99% 的 No module named 'Crypto' 问题均可解决。若仍失败,请检查:

  1. Python 环境路径是否正确。
  2. 是否在虚拟环境中未安装依赖(如使用 venvconda)。
  3. 项目文件命名是否冲突(如文件或文件夹命名为 Crypto.py)。
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐