我安装了一个用Python编码的加密框架Charm。然后,我通过导入一些工具在我的代码中使用它:
from charm.toolbox.pairinggroup import PairingGroup,ZR,G1,G2,GT,pair
from charm.zkp_compiler.zkp_generator import *
但是,我收到了错误
ImportError: No module named engine.protocol
engine.protocol
使用的 zkp_generator
。我没有收到与Import Error
相关的任何charm.toolbox.pairringgroup
。是什么导致这个?我不认为我遇到与路径相关的问题,因为我对charm.toolbox.pairringgroup
没有同样的问题。
答案 0 :(得分:1)
根据official package structure,他们在v0.42b
中引入了一些不向后兼容的更改。我假设删除charm.core.engine.protocol
就是其中之一。
如果您的应用程序在没有import
的情况下运行,您为什么要使用它?
答案 1 :(得分:0)
很明显,没有名为charm.core.engine.protocol的模块。如果您在命令提示符下调用,则可以尝试使用此方法的一种方法。
import charm.core.engine
dir (charm.core.engine) # Might not actually tell you anything useful
help (charm.core.engine) # If the documentation is good, might tell you what modules you can import
这可能会有所帮助,但是从上面的错误中来看,charm.core.engine.protocol似乎并不存在......
答案 2 :(得分:0)
从编辑到你的问题,似乎期待一个对象engine.protocol,因此意味着你的代码可以很好地使用
from charm.core import *
这很可能导致一个名为engine的对象具有属性协议(可以称为engine.protocol)。