2013-03-29 178 views
1

我正在嘗試使用Charm Cryptography庫。我已經安裝了庫,我可以看到Python/Lib/site-packages中的雞蛋。當我使用命令行運行下面的程序時,它的確如此,但是當我嘗試使用PyDev插件使用Eclipse時,它給了我這個錯誤。我正在使用Python 2.7,Windows 7.請讓我知道是否需要其他信息。Python錯誤:能夠從命令行運行程序,但不能從IDE運行

Traceback (most recent call last): 
    File "C:\Users\raunak\Documents\workspace1\ABETest\src\test\ABETest.py", line 6, in <module> 
    from charm.toolbox.pairinggroup import PairingGroup,GT 
    File "C:\Python27\Lib\site-packages\Charm_Crypto-0.42-py2.7-win32.egg\charm\toolbox\pairinggroup.py", line 2, in <module> 
    from charm.core.math.pairing import pairing,ZR,G1,G2,GT,init,pair,hashPair,H,random,serialize,deserialize,ismember,order 
ImportError: DLL load failed: The specified module could not be found. 


from charm.toolbox.pairinggroup import PairingGroup,GT 
from charm.schemes.abenc.abenc_waters09 import CPabe09 
group = PairingGroup('SS512') 
cpabe = CPabe09(group) 
msg = group.random(GT) 
(master_secret_key, master_public_key) = cpabe.setup() 
policy = '((ONE or THREE) and (TWO or FOUR))' 
attr_list = ['THREE', 'ONE', 'TWO'] 
secret_key = cpabe.keygen(master_public_key, master_secret_key, attr_list) 
cipher_text = cpabe.encrypt(master_public_key, msg, policy) 
decrypted_msg = cpabe.decrypt(master_public_key, secret_key, cipher_text) 
print decrypted_msg == msg 

更新:

Python Path from IDE: 
['C:\\Users\\raunak\\Documents\\workspace1\\ABETest\\src\\test', 
'C:\\Users\\raunak\\Documents\\workspace1\\ABETest\\src', 
'C:\\Python27\\Lib\\site-packages\\distribute-0.6.35-py2.7.egg', 
'C:\\Python27\\Lib\\site-packages\\Charm_Crypto-0.42-py2.7-win32.egg', 
'C:\\Python27\\DLLs', 
'C:\\Python27\\lib', 
'C:\\Python27\\lib\\plat-win', 
'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 
'C:\\Python27\\lib\\site-packages', 
'C:\\eclipse\\plugins\\org.python.pydev_2.7.3.2013031601\\pysrc\\pydev_sitecustomize', 
'C:\\Windows\\system32\\python27.zip', 
'C:\\Python27\\lib\\plat-win'] 

Python From Command Line: 
['C:\\', 
'C:\\Python27\\lib\\site-packages\\distribute-0.6.35-py2.7.egg', 
'C:\\%JYTHONPATH%', 
'C:\\Windows\\system32\\python27.zip', 
'C:\\Python27\\DLLs', 
'C:\\Python27\\lib', 
'C:\\Python27\\lib\\plat-win', 
'C:\\Python27\\lib\\lib-tk', 
'C:\\Python27', 
'C:\\Python27\\lib\\site-packages', 
'C:\\Python27\\lib\\site-packages\\Charm_Crypto-0.42-py2.7-win32.egg'] 
+0

即使我有同樣的問題,併爲您解決這個問題呢? – sailesh

回答

0

這可能是一個Python的路徑問題。比較運行:

import sys 
print sys.path 

在您的命令行與通過PyDev。

一旦你找到丟失的物品,然後可以添加到Python路徑中像任何其他列表,例如:

import os 
sys.path.append(os.path.join("C:\\", "folder", "file")) 
+0

我只能希望事情如此簡單。我配置了Python路徑。我能夠從命令行和Eclipse中運行這兩個路徑 –

+0

這兩條路徑是否相同?這可能是因爲你在一條路上有額外的東西,導致解釋者在錯誤的地方找東西。 –

+0

我已經從命令行和IDE添加了Python路徑的輸出。 –

相關問題