2009-11-25 57 views
5

我不知道爲什麼我得到這個錯誤,這是終止我的連接。我通過easy_install從1.7.5更新了paramiko-1.7.6。面料錯誤沒有處理程序可以發現記錄「paramiko.transport」

我想設置Fabric將我的Django應用上傳到我的服務器。錯誤似乎發生時,我試圖使現有的應用程序目錄的備份:

def backup_current_install(): 
    now = datetime.datetime.now() 
    cmd="cp -r /home/path/django-projects/app /home/path/django-projects/app%s" % now.strftime("%Y%m%d_%I:%M:%S") 
run(cmd) 

我已設置:

env.hosts 
env.password 

在fabfile,我不知道如何定位這個處理器錯誤。

+0

您可以發佈引起程序退出或終止連接的完整例外或警告文本嗎? – jathanism 2009-11-25 16:49:09

+0

我在哪裏可以找到這些信息?我複製的片段就是我所看到的。 – BryanWheelock 2009-11-25 17:55:02

+0

當您在腳本中執行'run(cmd)'時,您看到的輸出是什麼?它顯示爲警告還是錯誤? – jathanism 2009-11-25 18:07:54

回答

9

事實證明,這個錯誤是我沒有配置爲env.password作爲一個簡單的字符串的結果。

兩個env.userenv.password應該是簡單的字符串,而不是列表。 Documentation

2

如果不會導致問題,您可以放心地忽略此消息。

在這種情況下,庫(paramiko)期望應用程序處理日誌記錄。然而,應用程序員可能期望庫沒有任何副作用,並正確處理日誌記錄。

請參閱Configuring Logging for a Library

+0

錯誤正在終止連接 – BryanWheelock 2009-11-25 16:32:44

+4

更可能的是其他方式 - 您的連接正在終止,並且paramiko正在嘗試記錄錯誤。該消息將打印到控制檯,但不會引發任何異常。 – JimB 2009-11-25 19:27:40

+3

「您可以放心地忽略此消息。」這不一定是真的。輸出可能有意義,並在程序中顯示錯誤。爲了找出錯誤信息,你可以插入'import logging; logging.getLogger('paramiko.transport')。addHandler(logging.StreamHandler())''在你的fabfile的頂部,它會顯示日誌消息。 – sitaktif 2014-06-21 17:31:01

0

除了以前的答案:

如果你想找到你的應用程序中的錯誤是非常有用的使這是由消息燈號記錄的根本原因:

面料錯誤沒有處理程序可能被發現的記錄器「paramiko.transport」

您可以啓用日誌paramico在織物中是這樣的:

from fabric.network import ssh 

ssh.util.log_to_file("paramiko.log", 10) 
相關問題