在Windows上安装paramiko

8 投票
12 回答
65131 浏览
提问于 2025-04-15 23:30

这听起来可能是个重复的问题,但我找不到明确的答案。所以,我用“setup.py install”命令安装了Paramiko 1.7,运行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 个回答

3
  1. 首先,下载适用于Windows的paramiko。你可以在这里找到压缩文件:www.lag.net/paramiko/

  2. 要安装它,你需要一个叫做pycrypto的依赖包。记得要下载与你的Python版本匹配的pycrypto。这是为Windows准备的版本,所以不需要额外安装。你可以在这里找到pycrypto的下载链接:http://www.voidspace.org.uk/python/modules.shtml#pycrypto

  3. 你可以通过下载setuptools来简单安装,但我遇到了一些问题,所以我选择下载MinGW工具。这也是一个安装包,不需要额外构建。下载链接在这里:http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110316/

  4. 当你在Windows上安装好pycrypto和MinGW后,找到你从压缩文件中解压出来的paramiko模块的文件夹,然后输入这个命令:

    python setup.py build --compiler=mingw32 bdist_wininst

好了!你现在可以在Windows上使用Python进行ssh操作了。

4

我试过Vijay的方法,但没成功。

我用的是这个方法:'http://kmdarshan.com/blog/?p=3208',它有效:

  1. 首先,去 http://twistedmatrix.com/trac/wiki/Downloads 下载适用于windows/python2.5的pycrypto包的.exe文件。这是运行paramiko所必需的。

  2. 接下来,从 http://www.lag.net/paramiko/ 下载paramiko包。

  3. 把paramiko解压到一个临时文件夹,最好是解压到Python安装的文件夹里。

  4. 进入paramiko的文件夹。

  5. 打开命令提示符,确保你的环境变量里有Python。

  6. 运行这个命令:python setup.py install

  7. 你会看到一系列编译的输出。只要确保没有错误就行。如果有错误,你需要重新编译。

  8. 确保一切正常后,在你的程序里导入paramiko,看看能不能用。

  9. 顺便说一下:paramiko是用来做ssh等操作的。

16

看起来你的pycrypto安装有问题,或者根本没有安装。

你可以在这里找到适合python2.6的pycrypto安装包,安装后再试试。

http://www.voidspace.org.uk/python/modules.shtml#pycrypto

撰写回答