python报错 from Crypto.PublicKey import RSA ModuleNotFoundError: No module named ‘Crypto‘
通过上述分步解决方案,97%的同类问题可在15分钟内修复。建议生产环境定期执行。
·
遇到 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,需在项目中手动添加依赖:
- 打开
File > Settings > Project: <项目名> > Python Interpreter
- 点击
+
,搜索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'
问题均可解决。若仍失败,请检查:
- Python 环境路径是否正确。
- 是否在虚拟环境中未安装依赖(如使用
venv
或conda
)。 - 项目文件命名是否冲突(如文件或文件夹命名为
Crypto.py
)。
更多推荐
所有评论(0)