2009-11-25 36 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) 
相关问题