2012-01-21 13 views
1

私はpysnmpページから、次の例があります。 #はpysnmp.entity.rfc3413.onelinerインポートcmdgenPySNMP:ロードエラー:不正のOctetString初期化子

errorIndication, errorStatus, \ 
       errorIndex, varBinds = cmdgen.CommandGenerator().getCmd(
    # SNMP v1 
# cmdgen.CommunityData('test-agent', 'public', 0), 
    # SNMP v2 
    cmdgen.CommunityData('test-agent', 'public'), 
    # SNMP v3 
# cmdgen.UsmUserData('test-user', 'authkey1', 'privkey1'), 
    cmdgen.UdpTransportTarget(('localhost', 161)), 
    # Plain OID 
    (1,3,6,1,2,1,1,1,0), 
    # ((mib-name, mib-symbol), instance-id) 
    (('SNMPv2-MIB', 'sysDescr'), 0) 
    ) 

if errorIndication: 
    print errorIndication 
else: 
    if errorStatus: 
     print '%s at %s\n' % (
      errorStatus.prettyPrint(), 
      errorIndex and varBinds[int(errorIndex)-1] or '?' 
      ) 
    else: 
     for name, val in varBinds: 
      print '%s = %s' % (name.prettyPrint(), val.prettyPrint()) 

からコマンドジェネレータ をGET私は、SNMPであることを確認しました私のマシンで走っている。私は次のコマンドでコンソールをチェックしました:

snmpget -v2c -Cf -c public localhost 1.3.6.1.2.1.1.1.0 

うまくいきました。私は次のエラーを取得の上に私はPythonのコードを実行した場合 :各実行で最後の変更で

SmiError: MIB module "pysnmp/smi/mibs/SNMP-COMMUNITY-MIB.py" load error: MIB module "pysnmp/smi/mibs/SNMP-FRAMEWORK-MIB.py" load error: Bad OctetString initializer '[128, 0, 79, 184, 5, 192, 168, 1, 50, 371, 210, 26, 162, 157]' 

番号を(そのようなタイムスタンプまたはsomehtingに思えます)。 私はpython 2.7とpySNMP(4.2.1)の最新バージョンを使用しています。 誰かがこのサンプルコードの問題点を知っていますか?

答えて

2

これは最新のpysnmpリリース候補に修正されたpysnmp 4.2.1のバグです(このバグは何らかの理由でMacで頻繁に発生するようです)。

http://sourceforge.net/projects/pysnmp/files/pysnmp/4.2.2/pysnmp-4.2.2rc5.tar.gz/download

-ilya

+0

ありがとう:

はここで現在最も最近のRCへのリンクです。私はいつも「安定した」バージョンを試しました。しかし、リリース候補はかなりうまくいくようです(少なくともバグは本当に修正されているようです)。 – Peanut

関連する問題