2010-06-03 167 views
8

这可能听起来像是SF上的一个重复问题,但我找不到明确的答案。 我安装的paramiko 1.7用“的setup.py安装”命令,运行demo.py程序时,我得到这个错误:即使安装PyCrypto 2.1后在Windows上安装paramiko

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 

我得到这个错误。 在运行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! 请指教。它是安装方式有问题吗?

+1

从您的堆栈跟踪,我们可以推断出你正在尝试做这在Windows下?你应该编辑你的问题来包含这些信息,因为它会影响你得到的答案。 – 2010-06-03 18:54:50

回答

16

看起来像您的pycrypto安装已损坏或未安装。

尝试为python2.6安装程序获取pycrypto,然后在安装后再试一次。

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

+1

如果使用最新的Python 3.4,请从这里获取pycrypto安装程序:https://github.com/axper/python3-pycrypto-windows-installer 2014-08-31 14:18:59

0

看来,您下载的加密包不具有AES ...

你应该尝试做如下:

import Crypto 
import Crypto.Util 
import Crypto.Cipher 

是否有这些失败,那么你仍然需要以确保安装了pycrypto(请参阅S.Mark here的链接),否则Paramiko可能不依赖于具有AES(即使有测试)

0

看来PyCrypto使用了一个c编译器(它本质上存在于Linux系统上 - gcc)。 另外,在PyCrypto readme.txt文件的某个地方说,它需要先“build”,然后再进行“安装”。 在Linux上,我先构建它,然后在其上运行'install'命令并成功安装。

3
  1. 下载paramiko for windows。你得到的zip文件: www.lag.net/paramiko/

  2. 要构建它,你需要依赖包pycrypto。请记住,您需要为您的Python配套使用pycrypto版本。这是Windows的内置版本,因此不需要安装。 http://www.voidspace.org.uk/python/modules.shtml#pycrypto

  3. 你可以通过下载setuptools来做easy_install,但是我遇到了一些问题,所以我选择了下载MinGW工具。这又是一次安装,不需要构建。 http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110316/

  4. 一旦你有pycrypto和MinGW您的Windows机器上安装,只需浏览到从zip文件中提取的的paramiko模块的文件夹,并发出以下命令:

    蟒蛇的setup.py建立--compiler = mingw32 bdist_wininst

TADA!你都准备在Python的windows机器上使用ssh。

4

我试过Vijay的方法,但它不起作用。

我使用的方法上“http://kmdarshan.com/blog/?p=3208',it工作:

  1. 转到以http://twistedmatrix.com/trac/wiki/Downloads和下载Windows/python2的pycrypto包的.exe 0.5。这是运行paramiko所需要的。

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

  3. 将paramiko解压缩到一个临时文件夹,如果将其解压缩到安装python的文件夹中会更好。

  4. 进入paramiko文件夹。

  5. 打开命令提示符并查看它是否已将python设置为环境变量。

  6. 运行此命令python setup.py的安装

  7. 您将得到一系列汇编线。只要确保你没有任何错误就可以了。如果您有任何错误,您需要重新编译它们。

  8. 只是要确保一切都没问题在你的程序中导入paramiko,看看。

  9. 供参考:paramiko用于ssh ..等等。

0

我搜索了很长时间寻找解决这个问题的方法。我正在运行Windows 7 64位和Python 2.7。上述解决方案都不适合我。

this one did

不要忘了包括C++编译器,当你下载了微软的SDK,它没有被默认选中。

我下载了pycrypto 2.5源码来做编译和paramiko 2.3,事情效果很好。

+0

当您提供外部链接作为答案时,您还应该复制或总结相关位到您的答案中,以防您所链接的网站被修改或以后不再可用。 – Air 2013-12-09 18:21:24

0

这是一个非常准确的答案:

第1步:进入https://github.com/paramiko/paramiko

第2步:下载的zip文件,并解

第3步:进入文件夹并运行python setup.py install

你完成了!

1

我想在Windows XP上安装Paramiko for Python 3.3.2。我遵循the instructions here

在我下载了我的Python版本的列表中的所有程序后,Paramiko开始没有问题。

  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. 下载并解压缩https://github.com/paramiko/paramiko/archive/master.zip
+0

请不要张贴仅链接的答案。在你的答案中包含相关步骤。此外,未来,请格式化您的答案,使其尽可能可读。此外,这个问题已经有了一个可以接受的答案 - 请确保你真的添加了以前没有的东西。 – 2014-05-14 08:15:38

+1

另一件事:当你真正尝试使用Python 3.3时,为什么要安装Python 2.7? – 2014-05-14 08:19:01

+0

致命一吉他感谢您编辑我的文章,抱歉我的英文不好。 – Ptich 2014-05-14 08:20:54

1

似乎实际问题不会成为一个破碎的加密安装,但略有不同的一。在Windows上安装paramiko和加密easy_install后,我确实安装了加密,但没有加密。我安装了PyCrypt软件包(因为在安装Visual Studio Express之前我没有C编译器,所以出现了错误)

0

我在我的Mac上遇到了类似的问题,我解决它的方法是通过重命名“加密”目录到“加密”。我已经安装了paramiko和ssh。他们现在都工作得很好。然而,这可能会或可能不适用于某个人,但这只是解决此问题的一个简单思路。

Renaming crypto to Crypto

0

只是尝试

pip install paramiko 

如果显示错误,然后

pip install cryptography 
pip install paramiko