2

良い一日。

paramikosshクライアントに奇妙な問題があります。Connect paramikoクラス/関数の外部で呼び出さunittest2れ、ユニットテストランナーによってコードが実行されると、メソッドがハングします。

問題が発生するコードがあります。

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すると、接続は成功します。また、コードが元のPythonインタープリターによって実行される場合は、すべて問題ありません。TestTestsetUpModule

デバッグしようとすると、のループ内でparamikoこの問題がわかります。while Trueparamiko/auth_handler.py:AuthHandler.wait_for_response method

助言がありますか?

4

1 に答える 1

1

this SO answerによると、これは paramiko のスレッド関連のバグのようで、インポート中に connect() を呼び出さないことで回避できます。

于 2013-02-22T10:09:04.987 に答える