Python 2.7 PYSNMP:TypeError:setComponentByType()为关键字参数';验证约束条件';
PYSNMP 4.3.3面临新问题。Python 2.7.13.1使用SNMP GET和Getnext: Pysnmp 4.3.2也可以正常工作。 当涉及虚拟环境时,我实际上观察到了这个问题。 在虚拟环境中,即使我将Pysnmp从4.3.3降级到4.3.2,问题也会重现 有人能告诉我我错过了什么吗 TypeError:setComponentByType()为关键字参数“verifyConstraints”获取了多个值。Python 2.7 PYSNMP:TypeError:setComponentByType()为关键字参数';验证约束条件';,python-2.7,snmp,pysnmp,Python 2.7,Snmp,Pysnmp,PYSNMP 4.3.3面临新问题。Python 2.7.13.1使用SNMP GET和Getnext: Pysnmp 4.3.2也可以正常工作。 当涉及虚拟环境时,我实际上观察到了这个问题。 在虚拟环境中,即使我将Pysnmp从4.3.3降级到4.3.2,问题也会重现 有人能告诉我我错过了什么吗 TypeError:setComponentByType()为关键字参数“verifyConstraints”获取了多个值。 >>> from pysnmp.hlapi import
>>> 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'
>>>
在下面的链接中,请参考最后两条评论。
使用的软件包:
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从Pyasn1==0.2.3降级到0.1.9之后,代码似乎正常工作。但问题是,新安装的Pysnmp 4.3.3采用了Pyasn1==0.2.3,并且失败了。这是Pyasn1/Pysnmp交互中的一个不幸回归
您可以通过将pyasn1降级到0.2.2或从中获取pysnmp或稍等一点直到修复的pysnmp出现来修复此问题。@illya Etingof非常感谢您的帮助,我们将等待修复并同时使用0.2.2。pysnmp 4.3.4已发布!
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