Ответ 1
В окнах проще всего установить PyCrypto через предварительно установленный установщик Windows. На сайте Voidspace установщики PyCrypto 2.1 и 2.3 для Python 2.2-2.7.
Я запускал 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
Когда я пытаюсь запустить script с import Crypto.Cipher.AES
, он не работает, говоря:
ImportError: cannot import name AES
Как я могу это исправить?
В окнах проще всего установить PyCrypto через предварительно установленный установщик Windows. На сайте Voidspace установщики PyCrypto 2.1 и 2.3 для Python 2.2-2.7.
Для других людей, таких как я, на 64-битных Windows 7:
Краткая версия: Следуйте этим инструкциям.
Длинная версия:
Установите VС++ 2008 SP1 Express. вы можете получить его из здесь.
Вам также нужен SDK для Windows, в частности Win7 + Net 3.5 SDK.
Возможно, issue уже был разрешен в вашей версии python, если не получить файл diff с страницы проблем
скачать patch.py (или любой другой инструмент для исправления файлов diff)
если вы загрузили файл patch.py и diff в c:\Python27
только что запущен:
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.