Python PySNMP名称错误:名称';getCmd';没有定义

Python PySNMP名称错误:名称';getCmd';没有定义,python,pysnmp,Python,Pysnmp,我最近在Ubuntu上安装了PySNMP库 我按照上面链接中解释的“获取SNMP变量”的快速启动过程进行操作 不幸的是,我一直遇到这样的错误: File "/home/Camille/Desktop/quick_start.py", line 4, in <module> getCmd(SnmpEngine(), NameError: name 'getCmd' is not defined 文件“/home/camile/Desktop/quick_start.py”,第4行,

我最近在Ubuntu上安装了PySNMP库

我按照上面链接中解释的“获取SNMP变量”的快速启动过程进行操作

不幸的是,我一直遇到这样的错误:

File "/home/Camille/Desktop/quick_start.py", line 4, in <module>
getCmd(SnmpEngine(),
NameError: name 'getCmd' is not defined
文件“/home/camile/Desktop/quick_start.py”,第4行,在
getCmd(SnmpEngine(),
NameError:未定义名称“getCmd”

getCmd()是一个函数,它确实存在

这可能是apt包中的一个打包错误

在Mint 17.3(Ubuntu14.04)上,如果我创建一个虚拟环境并使用pip安装PySNMP,我会得到版本4.3.2,这很好:

>>> from pysnmp.hlapi import *
>>> getCmd
<function getCmd at 0x7f24e6fab0c8>
来自pysnmp.hlapi导入的
>>*
>>>getCmd
但是,如果我通过apt get install python-pysnmp4安装ubuntu软件包,我会得到4.2.5,而上面的代码根本不起作用。(
ImportError:没有名为hlapi的模块

在我的例子中,apt包版本不包括
hlapi
模块

PySNMP 4.2.5源代码的文件列表如下:

apt包的文件列表如下:

我不知道它为什么会丢失,但可能是遗漏(他们忘记了hlapi文件夹),或者是我不清楚的其他原因

虽然这与您的错误不同,但它确实表明可能存在其他打包问题。也许您正在使用的版本在某些方面也不完整


总之,如果您创建一个virtualenv并使用
pip
安装PySNMP,您可能就可以了。您可能还想向launchpad维护人员提交一个bug。

这可能是apt包中的一个打包bug

在Mint 17.3(Ubuntu14.04)上,如果我创建一个虚拟环境并使用pip安装PySNMP,我会得到版本4.3.2,这很好:

>>> from pysnmp.hlapi import *
>>> getCmd
<function getCmd at 0x7f24e6fab0c8>
来自pysnmp.hlapi导入的
>>*
>>>getCmd
但是,如果我通过apt get install python-pysnmp4安装ubuntu软件包,我会得到4.2.5,而上面的代码根本不起作用。(
ImportError:没有名为hlapi的模块

在我的例子中,apt包版本不包括
hlapi
模块

PySNMP 4.2.5源代码的文件列表如下:

apt包的文件列表如下:

我不知道它为什么会丢失,但可能是遗漏(他们忘记了hlapi文件夹),或者是我不清楚的其他原因

虽然这与您的错误不同,但它确实表明可能存在其他打包问题。也许您正在使用的版本在某些方面也不完整


总之,如果您创建一个virtualenv并使用
pip
安装PySNMP,您可能就可以了。您可能还想向launchpad维护程序提交一个bug。

当您通过以下方式安装PySNMP时:

$ pip install pysnmp

库pysnmp安装在以下路径中:

/usr/local/lib/python2.7/dist-packages/

这不是默认路径搜索之一

在程序中添加以下行:

import sys

sys.path.insert(1, '/usr/local/lib/python2.7/dist-packages')

通过以下方式安装pysnmp时:

$ pip install pysnmp

库pysnmp安装在以下路径中:

/usr/local/lib/python2.7/dist-packages/

这不是默认路径搜索之一

在程序中添加以下行:

import sys

sys.path.insert(1, '/usr/local/lib/python2.7/dist-packages')

您是否忘记了代码顶部的这一点:
来自pysnmp.hlapi import*
。当我删除这一行时,我复制了您的问题。可能是这样。除此之外,我不知道还有什么可能是错误的。我只在Ubuntu上有此错误。它在Raspbian(应该是我的SNMP代理)上工作正常。您是否忘记了代码顶部的这一点:
来自pysnmp.hlapi import*
。当我删除这一行时,我复制了您的问题。可能是这样。除此之外,我不知道还有什么问题。我只在Ubuntu上有此错误。它在Raspbian(应该是我的SNMP代理)上运行良好。