解决“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“包引用问题的主要内容,如果未能解决你的问题,请参考以下文章

vs2008解决方案资源管理器不显示解决方案

什么是 沙盒解决方案

解决PowerShell乱码问题

如何解决解决方案中现有项目的c#CS0006错误

关于问题解决与事件解决的思考

「解决方案架构」解决方案架构概述