2009-11-06 138 views
29

我在Windows XP控制台运行python setup.py install,并报告如下:PyCrypto没有完全安装在Windows XP

running install 
running build 
running build_py 
running build_ext 
warning: GMP library not found; Not building Crypto.PublicKey._fastmath. 
building 'Crypto.Random.OSRNG.winrandom' extension 
error: None 

当我尝试用import Crypto.Cipher.AES运行一个脚本,它不工作,他说:

ImportError: cannot import name AES 

我该如何解决这个问题?

回答

43

在windows上,它可能更容易通过预安装的Windows安装程序安装PyCrypto。 Voidspace站点有PyCrypto 2.1 and 2.3 installers for Python 2.2-2.7

+0

它的工作!谢谢。 – jay 2009-11-06 13:51:10

+0

没有版本的win64 :( – tovmeod 2012-07-10 01:19:41

+1

)Voidspace的PyCrypto 2.6版本包括32位和64位版本,每个支持的Python版本 – 2012-10-23 13:33:47

0

您可以使用PyPM安装(预编译的二进制包)pycrypto:

C:> pypm install pycrypto 
Ready to perform these actions: 
The following packages will be installed: 
pycrypto-2.0.1 
Get: [pypm.activestate.com] pycrypto 2.0.1-1 
Installing pycrypto-2.0.1 

要列出安装的文件,键入:

C:> pypm files pycrypto 
C:\Users\sridharr\AppData\Roaming\Python\Python26 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Cipher 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Cipher\AES.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Cipher\ARC2.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Cipher\ARC4.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Cipher\Blowfish.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Cipher\CAST.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Cipher\DES.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Cipher\DES3.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Cipher\IDEA.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Cipher\RC5.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Cipher\XOR.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Cipher\__init__.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Hash 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Hash\HMAC.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Hash\MD2.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Hash\MD4.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Hash\MD5.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Hash\RIPEMD.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Hash\SHA.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Hash\SHA256.pyd 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Hash\__init__.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Protocol 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Protocol\AllOrNothing.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Protocol\Chaffing.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Protocol\__init__.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\PublicKey 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\PublicKey\DSA.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\PublicKey\ElGamal.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\PublicKey\RSA.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\PublicKey\__init__.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\PublicKey\pubkey.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\PublicKey\qNEW.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Util 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Util\RFC1751.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Util\__init__.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Util\number.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Util\randpool.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\Util\test.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\__init__.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\Crypto\test.py 
C:\Users\sridharr\AppData\Roaming\Python\Python26\site-packages\pycrypto-2.0.1-py2.6.egg-info 

PyPM可以通过安装ActivePython安装。

+1

_error:Can'安装pycrypto-2.5:需要Business Edition subscription_ – 2012-06-28 13:24:58

+1

@DavidFreitas - 尝试使用ActivePython 32位而不是64位。 – 2012-07-16 19:37:28

3

对于其他人跟我一样在64位Windows 7:

短版: 按照this说明。

长版本:

安装VC++ 2008 SP1 Express。你可以从here得到它。

您还需要Windows SDK,特别是Win7 + Net 3.5 SDK

也许issue已经解决了你的Python版本,如果没有得到问题页面的差异文件

下载patch.py(或任何其他工具来修补差异文件)

,如果你下载的补丁的.py和DIFF在c:\Python27文件只需要运行:

python patch-11.01.py vcvars3.diff 

最后安装使用PIP:

pip install pycrypto