我已经安装了Anaconda2.5,它为我提供了python2.7。我已经安装了最新的PySNMP。最初,我试图在这台服务器上使用python2.6从另一台服务器运行Python脚本,但得到了一个TypeError(见下文)。我想这一定是因为我的Python版本,也许PySNMP发生了一些变化,但是当我运行它们的示例代码(见下文)时,它返回了完全相同的错误。我很困惑,为什么他们的示例代码会返回一个错误,只能怀疑Anaconda安装PySNMP是错误的?
以下是示例代码:
#!/root/anaconda2/python
from pysnmp.hlapi import *
for (errorIndication,
errorStatus,
errorIndex,
varBinds) in nextCmd(SnmpEngine(),
CommunityData('public', mpModel=0),
UdpTransportTarget(('demo.snmplabs.com', 161)),
ContextData(),
ObjectType(ObjectIdentity('IF-MIB', 'ifDescr')),
ObjectType(ObjectIdentity('IF-MIB', 'ifType')),
ObjectType(ObjectIdentity('IF-MIB', 'ifMtu')),
ObjectType(ObjectIdentity('IF-MIB', 'ifSpeed')),
ObjectType(ObjectIdentity('IF-MIB', 'ifPhysAddress')),
ObjectType(ObjectIdentity('IF-MIB', 'ifType')),
lexicographicMode=False):
if errorIndication:
print(errorIndication)
break
elif errorStatus:
print('%s at %s' % (errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex)-1][0] or '?'))
break
else:
for varBind in varBinds:
print(' = '.join([x.prettyPrint() for x in varBind]))
这是我的错误:
^{pr2}$
它一定与不兼容的pysnmp/pyasn1版本有关。在
根据您的情况,您可能希望将这两个包都推到最新的PyPI发行版(
pip install upgrade pysnmp pyasn1
),或者,如果您仍然使用当前的pyasn1版本,那么可以将pysnmp降级到4.3.10。在相关问题 更多 >
编程相关推荐