jay
jay

Reputation: 1071

PyCrypto not fully installed on Windows XP

I ran python setup.py install in a Windows XP console, and it reported as follows:

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

When I try to run a script with import Crypto.Cipher.AES, it doesn't work, saying:

ImportError: cannot import name AES

How can I fix this?

Upvotes: 29

Views: 55389

Answers (3)

tovmeod
tovmeod

Reputation: 888

For other people like me on 64 bit windows 7:

Short version: Follow this instructions.

Long version:

Install VC++ 2008 SP1 Express. you can get it from here.

You also need the Windows SDK, specifically the Win7 + Net 3.5 SDK.

Maybe the issue was already solved in your python version, if not get the diff file from the issue page

download patch.py (or any other tool to patch diff files)

if you downloaded the patch.py and diff file in c:\Python27 just run:

python patch-11.01.py vcvars3.diff

Finally install using pip:

pip install pycrypto

Upvotes: 3

John Paulett
John Paulett

Reputation: 15824

On windows, it may just be easier installing PyCrypto via a prebuilt windows installer. The Voidspace site has PyCrypto 2.1 and 2.3 installers for Python 2.2-2.7.

Upvotes: 43

Sridhar Ratnakumar
Sridhar Ratnakumar

Reputation: 85402

You may use PyPM to install (pre-built binary package of) 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

To list the files installed, type:

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 can be installed by installing ActivePython.

Upvotes: 0

Related Questions