【问题标题】:Install paramiko on Windows在 Windows 上安装 paramiko
【发布时间】:2013-12-30 13:55:01
【问题描述】:

好的。我读了installing paramiko on Windows

所有提到的方法都不起作用。

作者在不同的环境中安装了不同的组件/库。或者他们可能在发布答案之前没有测试他们的解决方案:)

我从我的机器 (Windows 8 x64) 中删除了所有 python 版本和库,并尝试从头开始安装 python 和 paramiko。

方法号 1(失败)

  1. 安装python-2.7.3.amd64.msi
  2. 安装pycrypto-2.6.win-amd64-py2.7.exe
  3. 下载https://github.com/paramiko/paramiko/archive/master.zip,解压。
  4. 运行 setup.py install
  5. 进入 IDLE,运行 import paramiko。

结果:

Traceback (most recent call last):   File "<pyshell#0>", line 1, in
<module>
  import paramiko   File "C:\Python27\lib\site-packages\paramiko\__init__.py", line 65, in
<module>
    from transport import SecurityOptions, Transport   File "C:\Python27\lib\site-packages\paramiko\transport.py", line 45, in
<module>
   from paramiko.ecdsakey import ECDSAKey   File "C:\Python27\lib\site-packages\paramiko\ecdsakey.py", line 24, in
<module>
  from ecdsa import SigningKey, VerifyingKey, der, curves ImportError: No module named ecdsa

方法号 2(失败)

  1. 安装python-2.7.3.amd64.msi
  2. 安装 setuptools-1.4.2.win-amd64-py2.7.exe
  3. 安装 pip-1.4.1.win-amd64-py2.7.exe
  4. pip install paramiko
  5. 进入 IDLE,运行 import paramiko。

结果:

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import paramiko
  File "C:\Python27\lib\site-packages\paramiko\__init__.py", line 64, in <module>
    from transport import SecurityOptions, Transport
  File "C:\Python27\lib\site-packages\paramiko\transport.py", line 33, in <module>
    from paramiko import util
  File "C:\Python27\lib\site-packages\paramiko\util.py", line 33, in <module>
    from paramiko.common import *
  File "C:\Python27\lib\site-packages\paramiko\common.py", line 98, in <module>
    from Crypto import Random
ImportError: No module named Crypto

方法3(成功)

  1. 安装 python-2.7.3.amd64.msi
  2. 安装pycrypto-2.6.win-amd64-py2.7.exe
  3. 安装setuptools-1.4.2.win-amd64-py2.7.exe
  4. 安装pip-1.4.1.win-amd64-py2.7.exe
  5. 运行 pip install ecdsa
  6. 下载解压https://github.com/paramiko/paramiko/archive/master.zip
  7. 运行 setup.py 安装
  8. 打开 IDLE,运行 import paramiko

结果:没有错误

请帮我找到在干净的 Windows 8 机器上安装 python 和 paramiko 的分步算法。谢谢。

UPD:已找到解决方案。

【问题讨论】:

标签: python pip paramiko easy-install pycrypto


【解决方案1】:

另外,我遇​​到了以下错误:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Python27-x86\include -IC :\Python27-x86\PC /Tcbuild\temp.win32-2.7\Release_openssl.c /Fobuild\temp.win32-2.7\Release\build\temp.win32-2.7\Release_openssl.obj

_openssl.c

build\temp.win32-2.7\Release_openssl.c(423):致命错误 C1083:无法打开包含文件:'openssl/opensslv.h':没有这样的文件或目录

错误:命令 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe' 失败,退出状态为 2

错过了这个文件:'openssl/opensslv.h'

之所以会这样,是因为在安装 paramiko/cryptography/pyOpenSSL 包时,它们都需要带有 *.libOpenSSL-Win32 分发包和头文件,例如:openssl\opensslv.h

所以,在安装适当的 OpenSSL 应用程序后。版本,取自这里: http://code.x2go.org/releases/binary-win32/3rd-party/Win32OpenSSL/

并将所有标头从 C:\OpenSSL-Win32\include\openssl*.* 复制到 C:\Pyhton27\inclide*.*

并将所有库从 C:\OpenSSL-win32\lib 复制到 C:\Python27\Lib*.*

paramiko 包安装成功。 ! 我希望它会对某人有所帮助。:) 祝你好运:)

【讨论】:

    【解决方案2】:

    Windows 用户:

    1. 安装 Python 2.7.11

    2. 下载并安装pycrypto win-amd64-py2.7.exe

    3. 现在打开命令提示符。如果你在以下位置安装了python:

      c:\Python27 然后更改目录并转到 Scripts 目录。

    4. 现在输入以下命令:

      pip 安装 paramiko

    就是这样,你已经成功安装了Paramiko。

    【讨论】:

    • 简单优雅的解决方案。我必须更改 pycrypto 包以适合我当前安装的 python 版本(3.4)。谢谢!
    【解决方案3】:

    要安装 paramiko,需要 Visual Basic 编译器。

    首先从微软下载:Microsoft Visual C++ Compiler for Python 2.7

    打开 paramiko 目录并运行 python setup.py install 。它将从互联网下载依赖项;尤其是pycrypto,安装会成功。

    【讨论】:

    • 您的链接已失效。
    • @user2284570,该链接可能已更新,因为它不再死了。
    【解决方案4】:
    • 对于第一个序列,您需要使用 pip 安装“ecdsa”,因为 paramiko 编译不会自动解决其依赖关系(作为您的工作解决方案)

    • 第二次失败,如前所述,因为您在运行 pip install paramiko 之前没有安装 pycrypto。我建议使用此选项而不是从源代码安装,以便使用 pip 启用更轻松的升级路径。 pip 也是使用其独立安装脚本最容易安装的:http://pip.readthedocs.org/en/latest/installing.html

    【讨论】:

      【解决方案5】:

      您缺少 pycrypto 依赖项。 pip 是最简单的方法:

      pip install pycrypto
      pip install paramiko
      

      或者,您可以从源代码安装:

      easy_install ./
      

      (参见:https://github.com/paramiko/paramiko

      【讨论】:

      • 1) 获胜可没那么容易。 2)他确实使用 pycrypto-2.6.win-amd64-py2.7.exe 安装了它(我的猜测是不正确的,但现在无法检查)
      • pycrypto 与 pycrypto-2.6.win-amd64-py2.7.exe 一起安装
      • 显然 OPs 安装无法找到 pycrypto,所以有些事情搞砸了。通过 pip 安装两者是确保两者都正确安装到同一位置的最简单方法。是的,即使在 Windows 上也是如此。
      • @YuvalAdam PyCrypto 是一个 C 扩展,为初学者编译它并不是那么明显的任务*.com/questions/11405549/…
      • 使用 python 3.6.0 在 Win10 上为我工作