2016-11-23 65 views
1

的模塊我安裝了一個用Python編碼的加密框架Charm。然後,我用它在我的代碼通過如下引進一些工具:導入錯誤:沒有名爲

from charm.toolbox.pairinggroup import PairingGroup,ZR,G1,G2,GT,pair 
from charm.zkp_compiler.zkp_generator import * 

不過,我收到了zkp_generator使用錯誤

ImportError: No module named engine.protocol 

engine.protocol。我沒有收到任何與charm.toolbox.pairringgroup相關的Import Error。這是什麼原因?我不認爲我有與路徑有關的問題,因爲我沒有與charm.toolbox.pairringgroup相同的問題。

+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似乎並不存在...

+0

當我執行這段代碼時,我發現charm.core.engine存儲在Python的包中。它給出了文件的路徑和其他一些信息。 – user1914367

+0

鑑於你的新錯誤信息,我認爲我的其他答案會幫助你更多。以上只是給你一些關於它的內容的想法。如果在目錄中可以看到協議,那麼我的其他答案很可能是正確的。 –

1

按照official package structure,他們介紹了v0.42b了一些變化,不向後兼容。我假設去除charm.core.engine.protocol就是其中之一。

如果您的應用程序沒有使用import,您爲什麼使用它?

+0

我編輯了我的問題。實際上'zkp_generator'使用'engine.protocol',我需要使用'zkp_generator'。 – user1914367

0

從編輯你的問題,似乎在期待的對象engine.protocol,因此這意味着你的代碼很可能與

from charm.core import * 

這項工作很可能導致一個對象調用引擎,它有一個屬性協議(可以稱爲engine.protocol)。

相關問題