导入错误:没有命名的模块

时间:2016-11-23 14:23:46

标签: python import python-import importerror

我安装了一个用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没有同样的问题。

3 个答案:

答案 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)。