使用Brownie运行Python脚本触发Assertion error求助
Brownie运行脚本触发AssertionError的解决办法
问题详情
我尝试用Brownie运行简单脚本但持续报错,脚本代码如下(scripts/deploy.py):
def main(): print("hello bruh")
执行命令:brownie run scripts/deploy.py
出现错误:
Successfully installed docopt-0.6.2 PS C:\Users\brosky\Desktop\solidity\Blockchain-development\brownie_simple_storage> brownie run scripts/deploy.py INFO: Could not find files for the given pattern(s). Brownie v1.19.3 - Python development framework for Ethereum File "C:\Users\brosky\AppData\Local\Programs\Python\Python311\Lib\site-packages\brownie\_cli\__main__.py", line 64, in main importlib.import_module(f"brownie._cli.{cmd}").main() File "C:\Users\brosky\AppData\Local\Programs\Python\Python311\Lib\site-packages\brownie\_cli\run.py", line 36, in main args = docopt(__doc__, more_magic=True) File "C:\Users\brosky\AppData\Local\Programs\Python\Python311\Lib\site-packages\brownie\utils\docopt.py", line 814, in docopt assert instr.opname.startswith("CALL_") Assertion error:
解决办法
这个错误的核心原因是Brownie v1.19.3与Python 3.11不兼容,Brownie内置的docopt版本无法适配Python 3.11的字节码指令。
解决步骤:
- 降级Python版本到3.10.x(Brownie 1.x系列对Python 3.10有完善支持)
- 重新创建虚拟环境并激活
- 在虚拟环境中重新安装Brownie:
pip install eth-brownie - 再次执行
brownie run scripts/deploy.py即可正常运行
内容的提问来源于stack exchange,提问作者Mike_pn
相关产品推荐
相关产品推荐

