解决“from sha3 import keccak_256“包引用问题
Posted sanqima
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决“from sha3 import keccak_256“包引用问题相关的知识,希望对你有一定的参考价值。
sha3包是用C语言编写的计算字符串哈稀的包,在win10上安装时需要使用VS2017编译成python格式,再进行安装,但这个包已经5年没有更新了,并且在win10上安装时,报"sha3.c(33): error C2016: C 要求一个结构或联合至少有一个成员"错误。
解决方法:使用等效的包 eth-utils 替换 sha3
1 安装eth_utils
pip install eth-utils==1.10.0
2 修改包引用与函数调用方式
修改包引用: from sha3 —> from eth_utils
修改函数调用: keccak_256() --> keccak()
2.1 修改前
from sha3 import keccak_256
keccak_256(signature.encode('utf-8')).digest()[:4]
2.2 修改后
from eth_utils import keccak
keccak(signature.encode('utf-8')).digest()[:4]
以上是关于解决“from sha3 import keccak_256“包引用问题的主要内容,如果未能解决你的问题,请参考以下文章