我试图将pysnmp库与SNMP V3设置一起使用,并带有MD5 Auth协议和AesCfb128 Priv协议,以从交换机获取详细信息。我正在尝试两件事。
1。在基本计算机上安装pysnmp和所有依赖包(包括pycrytpto)
2。为python3创建虚拟环境,并在该虚拟环境中安装pysnmp和所有依赖包(包括pycrytpto)。
当我采用第一种方法时,可以正确检索详细信息。但是,当我尝试第二种方法时,出现“无法使用密码服务”错误。我检查了两者之间已安装软件包的列表是否完全相同。
以下是基本计算机的详细信息
$ pip3 list
pip (9.0.1)
ply (3.11)
pyasn1 (0.4.5)
pycryptodomex (3.8.2)
pysmi (0.3.4)
pysnmp (4.4.9)
setuptools (28.8.0)
我的虚拟环境是在“ / Users // Test / Python / Pysnmp”位置创建的
$ /Users/<user_name>/Test/Python/Pysnmp/bin/pip3 list
Package Version
pip 18.1
pipdeptree 0.13.2
ply 3.11
pyasn1 0.4.5
pycryptodomex 3.8.2
pysmi 0.3.4
pysnmp 4.4.9
setuptools 40.6.2
这是我要使用的命令
for (errorIndication,errorStatus,errorIndex,varBinds) in nextCmd(SnmpEngine(),
UsmUserData('test_user', 'test_password', 'test_password', usmHMACMD5AuthProtocol, usmAesCfb128Protocol),
UdpTransportTarget((host, 161)), ContextData(),
ObjectType(ObjectIdentity(oid)), lexicographicMode=False):
当我在基本计算机(如python3 script.py
)中运行以上代码时,它会正确返回详细信息。
但是,当我使用安装在虚拟环境(如/Users/<user_name>/Test/Python/Pysnmp/bin/python3 script.py
)中的python运行它时,它会返回“ 无法使用密码服务”作为错误指示。
我想念什么?
谢谢