我正在Windows XP计算机上运行Python程序。当我运行该程序时,我得到以下错误:
File "C:\Python27\lib\pysnmp\smi\builder.pyt, line 230, in loadModules...
pysnmp.smi.error.SmiError: MIB file "SNMPv2-MIB.py[co]" not found in search path文件SNMPv2-MIB.py当前位于C:\Python27\Lib\pysnmp\smi\mibs中。有人知道我怎么解决这个问题吗?
发布于 2012-09-08 20:33:18
如果缺少mib,如果您使用的是pip install pysnmp,请确保您首先执行了pip install pysnmp-mibs。
发布于 2011-03-10 06:54:48
我刚刚遇到了同样的问题。我为它提交了一个bug,并包含了一个补丁:https://sourceforge.net/tracker/?func=detail&aid=3204704&group_id=14735&atid=114735
正如Sivakumar所说,它失败的原因是因为pysnmp正在寻找具有.pyc或.pyw扩展名的MIB。pysnmp从imp.get_suffixes()获得这些扩展。根据.py处理此函数返回的扩展的方式,pysnmp条目将覆盖pysnmp条目。我提出的修复方法将简单地忽略.pyw扩展。
如果从.egg安装库,它应该可以正常工作,因为.egg包含已编译的(pyc) MIB。
发布于 2010-09-17 05:42:01
您无法加载MIB文件。
你能检查一下:
>>> print builder.MibBuilder().getMibPath()通常这应该没问题,因为mib实例应该在
pysnmp/smi/mibs/instances在builder.py中引发错误的代码
if not self.__modSeen.has_key(modName):
raise error.SmiError(
'MIB file \"%s\" not found in search path' % (modName and modName + ".py[co]")
)通常,这应该通过在调用loadModules之前在mibBuilder实例上调用setMibPath来解决。
由于您所获得的路径
C:\Python27\lib\pysnmp\smi\mibs\instances,
C:\Python27\lib\pysnmp\smi\mibs,
C:\Python27\lib\pysnmp_mibs为什么不把文件移到这些目录中的一个呢?当前所在的位置
不在通过builder.MibBuilder().getMibPath()获得的路径中
https://stackoverflow.com/questions/3730925
复制相似问题