msession未定义

1 投票
2 回答
1825 浏览
提问于 2025-04-16 08:07

我正在尝试运行这个示例程序 - http://pysnmp.sourceforge.net/examples/1.x/snmpbulk.html

我在使用Mac OS X,并且通过以下方式安装了pysnmp -

$ sudo /usr/local/bin/pip install pysnmp

现在当我运行这个程序时,我得到了 -

Traceback (most recent call last):
  File "pysnmptest.py", line 2, in <module>
    from pysnmp import msession
ImportError: cannot import name msession

更新:

看起来pysnmp 4.x版本没有msession,所以我尝试了 http://pysnmp.sourceforge.net/examples/4.x/v3arch/index.html

现在我得到了 -

Traceback (most recent call last):
  File "pysnmptest.py", line 2, in <module>
    from pysnmp.entity.rfc3413.oneliner import cmdgen
  File "/Library/Python/2.6/site-packages/pysnmp/entity/rfc3413/oneliner/cmdgen.py", line 2, in <module>
    from pysnmp.entity import engine, config
  File "/Library/Python/2.6/site-packages/pysnmp/entity/engine.py", line 2, in <module>
    from pysnmp.proto.rfc3412 import MsgAndPduDispatcher
  File "/Library/Python/2.6/site-packages/pysnmp/proto/rfc3412.py", line 3, in <module>
    from pysnmp.smi import builder, instrum
  File "/Library/Python/2.6/site-packages/pysnmp/smi/builder.py", line 4, in <module>
    from pysnmp.smi import error
  File "/Library/Python/2.6/site-packages/pysnmp/smi/error.py", line 1, in <module>
    from pyasn1.error import PyAsn1Error
ImportError: No module named pyasn1.error

这个网页还提到他们依赖一些第三方库 -

最新的PySNMP版本(4.x及以后)依赖以下内容:

用于处理ASN.1对象的Python ASN.1库
用于SNMP消息认证和加密的加密工具包

我该如何安装它们?直接从网页下载tar包安装会更好吗?

2 个回答

0

pyasn1pysnmp 需要用到的一个库。所以你只需要输入:

from pyasn1.error import PyAsn1Error 
2

你安装的是哪个版本的 pysnmp 呢?你现在尝试运行的例子似乎是适合 pysnmp 的 1.x 版本。

我在这里找到了一些最新的 4.x 版本的例子。注意这些例子没有使用 msession,所以我猜这个功能可能被删掉了。


编辑:看起来现在你需要从这里安装 pyasn1... 我不使用 OSX,所以不知道在上面安装软件的更好方法。在 ubuntu 上,我只需输入 apt-get install python-pysnmp,整个软件就安装好了。

撰写回答