2017-02-28 63 views
2

面臨PYSNMP 4.3.3的新問題。 Python 2.7.13.使用SNMP GET和Getnext: 與Pysnmp 4.3.2一樣正常工作。 這個問題實際上我在觀察它涉及到虛擬環境時。 在虛擬環境中,即使我將Pysnmp從4.3.3降級到4.3.2,問題也得到轉載。PYSNMP:TypeError:setComponentByType()獲得關鍵字參數'verifyConstraints'的多個值

有人能告訴我我失蹤了什麼嗎?

類型錯誤:setComponentByType()得到了關鍵字參數多個值 'verifyConstraints'

>>> from pysnmp.hlapi import * 
>>> errorIndication, errorStatus, errorIndex, varBinds = next(
...  getCmd(SnmpEngine(), 
...   CommunityData('public'), 
...   UdpTransportTarget(('127.0.0.1', 161)), 
...   ContextData(), 
...   ObjectType(ObjectIdentity('SNMPv2-MIB','sysDescr', 0))) 
...) 
Traceback (most recent call last): 
    File "<stdin>", line 6, in <module> 
    File "/home/sourav/MyWorkSpace/tempproject_1/lib/python2.7/site-packages/pysnmp/hlapi/asyncore/sync/cmdgen.py", line 111, in getCmd 
    lookupMib=options.get('lookupMib', True))) 
    File "/home/sourav/MyWorkSpace/tempproject_1/lib/python2.7/site-packages/pysnmp/hlapi/asyncore/cmdgen.py", line 131, in getCmd 
    options.get('cbFun'), options.get('cbCtx')) 
    File "/home/sourav/MyWorkSpace/tempproject_1/lib/python2.7/site-packages/pysnmp/entity/rfc3413/cmdgen.py", line 214, in sendVarBinds 
    v2c.apiPDU.setVarBinds(reqPDU, varBinds) 
    File "/home/sourav/MyWorkSpace/tempproject_1/lib/python2.7/site-packages/pysnmp/proto/api/v1.py", line 136, in setVarBinds 
    varBindList.getComponentByPosition(idx), varBind 
    File "/home/sourav/MyWorkSpace/tempproject_1/lib/python2.7/site-packages/pysnmp/proto/api/v1.py", line 43, in setOIDVal 
    verifyConstraints=False) 
TypeError: setComponentByType() got multiple values for keyword argument 'verifyConstraints' 
>>> 

隨着老款也一樣:

>>> from pysnmp.entity.rfc3413.oneliner import cmdgen 
>>> cmdGen = cmdgen.CommandGenerator() 
>>> errorIndication, errorStatus, errorIndex, varBindTable = cmdGen.nextCmd(cmdgen.CommunityData('public'),cmdgen.UdpTransportTarget(('127.0.0.1', 161), timeout=60, retries=3),cmdgen.MibVariable('SNMPv2-MIB','sysDescr',0)) 

在鏈接波紋管請參考最後兩點評論。 https://github.com/home-assistant/home-assistant/issues/5790

包使用:

appdirs==1.4.2 
packaging==16.8 
ply==3.10 
pyasn1==0.2.3 
pycryptodome==3.4.5 
pyparsing==2.1.10 
pysmi==0.0.7 
pysnmp==4.3.3 
six==1.10.0 

++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++ 更新: +++ ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++似乎 從pyasn1 == 0.2.3降級Pyasn1到0.1.9後的代碼工作如常。但問題是,新鮮安裝Pysnmp 4.3.3它採取Pyasn1 == 0.2.3及其失敗。

回答

5

這是在pyasn1/pysnmp互動不幸的迴歸。

你可以修復由要麼降級pyasn1到0.2.2或git master採取pysnmp或等待一點點,直到固定pysnmp出來。

+0

@illya Etingof非常感謝您的幫助,我們將等待修復並使用0.2.2。 – sbhatta

+0

pysnmp 4.3.4出來了! –

相關問題