from Crypto.Cipher import AES 失败,常见是旧包 pycrypto 和现在的 pycryptodome 搅在一起,再加一个大小写问题。
pycryptodome 故意用和 pycrypto 相同的导入名 Crypto(C 大写),以便替换。site-packages 里如果是小写的 crypto,导入照样失败。
处理顺序:
bash
pip uninstall pycrypto pycryptodome
pip install pycryptodome然后确认目录名:
python
import Crypto
print(Crypto.__file__)路径里应是 Crypto,不是 crypto。若只剩一个小写目录,把它改成 Crypto,或卸干净再装一次。
不要和 crypto 这个另外的 PyPI 包混装。导入成功后再写 AES,密钥和 IV 用自己的,不要写进仓库。