美好的一天。
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
时,我在 paramiko/auth_handler.py:AuthHandler.wait_for_response 方法中的
.while True
循环中发现了这个问题
有什么建议吗?
最佳答案
根据 this SO answer ,这似乎是 paramiko 中与线程相关的错误,可以通过在导入期间不调用 connect() 来避免。
关于python - Paramiko 在身份验证期间挂起,当由 unittest runner 运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13155890/