PySNMP返回带有Anaconda安装的TypeError,即使使用示例cod

2024-06-30 16:12:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经安装了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}$

Tags: 代码in示例forif错误mibprint
1条回答
网友
1楼 · 发布于 2024-06-30 16:12:32

它一定与不兼容的pysnmp/pyasn1版本有关。在

根据您的情况,您可能希望将这两个包都推到最新的PyPI发行版(pip install upgrade pysnmp pyasn1),或者,如果您仍然使用当前的pyasn1版本,那么可以将pysnmp降级到4.3.10。在

相关问题 更多 >