我需要使用snmp从我的设备获取一些信息(端口统计信息、端口描述等)。
但是我正在努力解决一些包安装错误,我没有找到任何答案
我正在使用Windows10 64位计算机并试图安装easysnmp
包,
但我得到了以下输出:
> D:\Python36\Scripts>pip.exe install easysnmp
Collecting easysnmp
Using cached easysnmp-0.2.5.tar.gz
Installing collected packages: easysnmp
Running setup.py install for easysnmp ... error
Complete output from command d:\python36\python.exe -u -c "import
setuptools,
tokenize;__file__='C:\\Users\\AVISHA~1\\AppData\\Local\\Temp\\pip-
build-9_9zhm70\\easysnmp\\setup.py';f=getattr(tokenize, 'open', open)
(__file__);code=f.read().replace('\r\n',
'\n');f.close();exec(compile(code, __file__, 'exec'))" install --record
C:\Users\AVISHA~1\AppData\Local\Temp\pip-wia8b3wa-record\install-
record.txt --single-version-externally-managed --compile:
'net-snmp-config' is not recognized as an internal or external command,
operable program or batch file.
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.6
creating build\lib.win-amd64-3.6\easysnmp
copying easysnmp\compat.py -> build\lib.win-amd64-3.6\easysnmp
copying easysnmp\easy.py -> build\lib.win-amd64-3.6\easysnmp
copying easysnmp\exceptions.py -> build\lib.win-amd64-3.6\easysnmp
copying easysnmp\helpers.py -> build\lib.win-amd64-3.6\easysnmp
copying easysnmp\session.py -> build\lib.win-amd64-3.6\easysnmp
copying easysnmp\utils.py -> build\lib.win-amd64-3.6\easysnmp
copying easysnmp\variables.py -> build\lib.win-amd64-3.6\easysnmp
copying easysnmp\__init__.py -> build\lib.win-amd64-3.6\easysnmp
running build_ext
building 'easysnmp.interface' extension
creating build\temp.win-amd64-3.6
creating build\temp.win-amd64-3.6\Release
creating build\temp.win-amd64-3.6\Release\easysnmp
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Id:\python36\include -Id:\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tceasysnmp/interface.c /Fobuild\temp.win-amd64-3.6\Release\easysnmp/interface.obj -Wno-unused-function
cl : Command line error D8021 : invalid numeric argument '/Wno-unused-function'
*****error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2*****
Command "d:\python36\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\AVISHA~1\\AppData\\Local\\Temp\\pip-build-9_9zhm70\\easysnmp\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\AVISHA~1\AppData\Local\Temp\pip-wia8b3wa-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\AVISHA~1\AppData\Local\Temp\pip-build-9_9zhm70\easysnmp\
*****error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2*****
最佳答案
恐怕我不能完全回答,因为我只在linux机器上使用过easysnmp,但是python的easysnmp模块使用了下面的Net-SNMP;我敢说您需要先下载并安装它(这是我在linux上使用它所必须做的)。
祝你好运!
编辑:回复你的帖子时引用了一个重复的问题,该问题引用了an issue on the EasySNMP Github解释说easysnmp不支持windows-抱歉,伙计!你可以试试pysnmp,我认为这是纯python(理论上独立于平台)。