前言
之前就遇到这个问题, 当然是windows上具有的问题
问题描述
from Crypto.Cipher import AES
出现ModuleNotFoundError: No module named 'Crypto'
解决办法
pip uninstall crypto
pip uninstall pycryptodome
pip install pycryptodome
为什么?
知其然知其所以然
首先你要知道 导入的这个模块中的AES是在pycryptodome
这个库里面的,所以 crypto
这个库对你来说是没用的。
而如果你装了crypto
这个库, 这两个库会安装到同一个文件夹, 然后本应该 Crypto
这个大写的文件夹变成小写 crypto
(因为windows本身不区分大小写), 这样就会导致找不到这个模块, 两个库的名字发生冲突。
另外看到很多文章解决办法是: 改文件夹名字, 将小写c改为大写C, 这样虽然也能解决, 但不是问题的根本原因, 根本原因就是 windows 不区分大小写, 所以卸载无用的库是最好的解决办法!