from Crypto.Cipher import AES
from Crypto.Random import Fortuna
发生异常: ModuleNotFoundError
No module named 'SHAd256'
File "D:\...\aes_ccm.py", line 2, in <module>
from Crypto.Random import Fortuna
ModuleNotFoundError: No module named 'SHAd256'
【以下回答由 GPT 生成】
解决办法:
1. 首先,这个错误是由于找不到'SHAd256'模块造成的,我们可以通过安装'Cryptography'模块来解决。 2. 打开终端或命令提示符,并输入以下命令安装'Cryptography'模块:
pip install cryptography
from Crypto.Cipher import AES
from Crypto.Random import Fortuna
如果没有抛出异常,说明问题已经解决。
请注意,Crypto
模块和Cryptography
模块是两个不同的模块,可能会导致命名冲突。确保你正在使用的是正确的模块。
【相关推荐】
已解决
我造成该情况的原因是python版本和代码所需对应的版本不匹配,可以去pyprojcet.toml中查看所需相应包的版本号
如:
[tool.flit.metadata.requires-extra]
test = [
"pytest >=6.2.4,<7.0.0",
"pytest-cov >=2.12.0,<4.0.0",
"mypy ==0.910",
"flake8 >=3.8.3,<4.0.0",
"black == 22.3.0",
"isort >=5.0.6,<6.0.0",
"requests >=2.24.0,<3.0.0",
"httpx >=0.14.0,<0.19.0",
"email_validator >=1.1.1,<2.0.0",
"sqlalchemy >=1.3.18,<1.5.0",
"peewee >=3.13.3,<4.0.0",
"databases[sqlite] >=0.3.2,<0.6.0",
"orjson >=3.2.1,<4.0.0",
"ujson >=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,<6.0.0",
"python-multipart >=0.0.5,<0.0.6",
"flask >=1.1.2,<3.0.0",
"anyio[trio] >=3.2.1,<4.0.0",
可使用anaconda切换python版本