我正在尝试在基于 Cairo 编程语言构建的 python 文件中运行测试。但是,当我运行 python3 -m pytest /test_name.py 时,出现以下回溯错误。在我不久前安装了一些加密模块后,似乎有东西模拟了我的 pytest。
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
...
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pytest/__main__.py", line 9, in <module>
raise SystemExit(pytest.console_main())
...
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
...
from Crypto import (
ModuleNotFoundError: No module named 'Crypto'
'Crypto'
错误是在第 21 行的 eth_keyfile
模块中引发的。
错误一路传回到链上 -
eth_account/account.py
eth_account/__init__.py
web3/__init__.py
配置中的pytest
核心文件和pluginmanager
解决问题 -
pip install pycryptodome
您遇到的错误是由于缺少依赖项导致的
Crypto
。 eth_account/account.py
中引用的加密模块是pycryptodome
库的一部分。eth_account
模块过去依赖于现已过时的PyCrypto
库,该库在Crypto
下提供了加密功能
命名空间。