我运行python setup.py install
在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
我怎样才能解决这个问题?
在Windows上,通过预编译的Windows安装程序可能会更容易安装PyCrypto。 Voidspace站点为Python 2.2-2.7安装了PyCrypto 2.1和2.3安装程序 。
对于像我这样的64位Windows 7上的其他人:
短版本:按照这个指示。
长版本:
安装VC ++ 2008 SP1 Express。 你可以从这里得到它。
您还需要Windows SDK,特别是Win7 + Net 3.5 SDK 。
也许这个问题已经解决了你的python版本,如果没有从问题页面获取diff文件
下载patch.py (或其他任何工具来修补diff文件)
如果你在c:\Python27
下载了patch.py和diff文件,只需运行:
python patch-11.01.py vcvars3.diff
最后使用pip安装:
pip install pycrypto
您可以使用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来安装。