Paramiko在认证期间挂起,当时由unittest runner运行

时间:2012-10-31 10:31:21

标签: python paramiko

美好的一天。

paramiko ssh客户端有一个奇怪的问题。 Connect paramiko方法在unittest2类/函数外部调用时代码挂起,代码由unittest runner运行。

有一段代码,出现问题:

import paramiko
import unittest2

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('172.18.67.10',
            username='root',
            password='secrete')
_, stdout, _ = ssh.exec_command('date')


class TestTest(unittest2.TestCase):
    def setUp(self):
        pass

如果我将ssh.connect移至TestTest类或setUpModule函数,则连接将成功。当原始Python解释器运行代码时,一切正常。

当我尝试调试paramiko时,我在while True的{​​{1}}循环中找出了这个问题。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

根据this SO answer,它似乎是paramiko中与线程相关的错误,可以通过在导入期间不调用connect()来避免。