2017-03-13 39 views
1

我试图通过不同的线程在python连接到主机,但有时得到错误(1次在25次执行) 我看到类似的线程,并希望更新点到8.1.1会解决这个问题,但没有解决。无效的需求,解析错误在“''”

代码片段:

def getkpis(self,cmd,host): 
    ssh=paramiko.SSHClient() 
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
    try: 
     ssh.connect(host,username='root',look_for_keys=True) 
     stdin, stdout, stderr = ssh.exec_command(cmd) 
     paramiko.util.log_to_file("kpiparamiko.log") 
     output=stdout.read() 
     appendarray=output.split('\n') 
     sys.stdin.flush() 
     ssh.close() 
    except paramiko.SSHException, e: 
     print str(e) 

错误看出:

Exception in thread Thread-1: 
Traceback (most recent call last): 
File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner 
self.run() 
File "/usr/lib64/python2.7/threading.py", line 764, in run 
self.__target(*self.__args, **self.__kwargs) 
File "/conf/home/smodugu/kpiparse.py", line 56, in getkpis 
ssh.connect(host,username='root',look_for_keys=True) 
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 338, in  connect 
t.start_client() 
File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 493, in  start_client 
raise e 
RequirementParseError: Invalid requirement, parse error at "''" 

回答

0

昨天,我能够通过使用setuptools的旧版本的来解决这个问题,pip install "setuptools<34"但那么今天的问题又回来了。我可以通过在排队线程的循环中添加0.1秒的睡眠来解决这个问题。为什么多线程调用paramiko的SSHClient导致这个错误与pip/setuptools,我不知道。