2010-06-03 55 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