Fabric错误:未找到“paramiko.transport”日志记录器的处理程序

6 投票
3 回答
16561 浏览
提问于 2025-04-15 16:23

我不太明白为什么会出现这个错误,导致我的连接中断。我是通过easy_install把paramiko-1.7.6从1.7.5更新上来的。

我正在尝试设置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里,但我不知道该怎么处理这个处理程序错误。

3 个回答

2

除了之前的回答之外:

如果你想找到应用程序错误的根本原因,开启日志记录会很有帮助,这在下面的提示信息中提到过:

Fabric错误:找不到“paramiko.transport”的日志处理程序

你可以通过下面的方式在Fabric中开启paramiko的日志记录:

from fabric.network import ssh

ssh.util.log_to_file("paramiko.log", 10)
2

如果这个信息没有造成任何问题,你可以放心地忽略它。

在这种情况下,库(paramiko)希望应用程序自己处理日志记录。不过,应用程序的开发者可能希望这个库不会有任何副作用,并且能够正确处理日志记录。

可以查看 为库配置日志记录

9

结果发现,这个错误是因为我没有把 env.password 设置成一个简单的字符串。

其实 env.userenv.password 都应该是简单的字符串,而不是列表。 文档

撰写回答