установка парамико на винду - PullRequest
8 голосов
/ 03 июня 2010

Это может звучать как повторный вопрос по SF, но я пока не смог найти четкого ответа на него. Я установил Paramiko 1.7 с помощью команды «setup.py install», и во время работы программы demo.py я получил эту ошибку:

 Traceback (most recent call last):
  File "C:\Documents and Settings\fixavier\Desktop\paramiko-1.7\demos\demo.py", line 33, in <module>
    import paramiko
  File "C:\Python26\lib\site-packages\paramiko\__init__.py", line 69, in <module>
    from transport import randpool, SecurityOptions, Transport
  File "C:\Python26\lib\site-packages\paramiko\transport.py", line 32, in <module>
    from paramiko import util
  File "C:\Python26\lib\site-packages\paramiko\util.py", line 31, in <module>
    from paramiko.common import *
  File "C:\Python26\lib\site-packages\paramiko\common.py", line 99, in <module>
    from Crypto.Util.randpool import PersistentRandomPool, RandomPool
ImportError: No module named Crypto.Util.randpool

Я получаю эту ошибку даже после установки PyCrypto 2.1. При запуске test.py (который поставляется вместе с установкой) я получил следующую ошибку -

    Traceback (most recent call last):
  File "C:\Documents and Settings\fixavier\Desktop\pycrypto-2.0.1\pycrypto-2.0.1\test.py", line 18, in <module>
    from Crypto.Util import test
  File "C:\Documents and Settings\fixavier\Desktop\pycrypto-2.0.1\pycrypto-2.0.1\build/lib.win32-2.6\Crypto\Util\test.py", line 17, in <module>
    import testdata
  File "C:\Documents and Settings\fixavier\Desktop\pycrypto-2.0.1\pycrypto-2.0.1\test\testdata.py", line 450, in <module>
    from Crypto.Cipher import AES
ImportError: cannot import name AES

У меня нет уверенности, что после всего этого я смогу установить AES, поскольку я знаю, что могу получить еще одну ошибку ImportError! Пожалуйста, совет. Является ли способ установки проблематичным?

Ответы [ 12 ]

0 голосов
/ 22 июня 2010

Кажется, PyCrypto использует c-компилятор (который по своей природе присутствует в системе Linux - gcc). Кроме того, где-то в файле readme.txt PyCrypto написано, что сначала его нужно «собрать», а потом делать «установку». В Linux я сначала собрал его, а затем выполнил команду 'install', и он был успешно установлен.

0 голосов
/ 04 июня 2010

Похоже, что скачанный вами пакет Crypto не имеет AES ...

вы должны попробовать сделать следующее:

import Crypto
import Crypto.Util
import Crypto.Cipher

если что-то из этого не получится, вам все равно нужно убедиться, что Pycrypto установлен (см. Ссылку из S.Mark здесь ), в противном случае Paramiko может не зависеть от наличия AES (даже при наличии теста за это)

...