python踩坑之netsnmp模块安装(真实记录)

背景:

最近入职新公司,领导制定了新人任务,通过snmp协议抓取网络设备的数据,并且对其进行存储和展示。对我这个没干过开发的菜鸡来讲,也算是有挑战性的活。网上搜集了一些资料,发现用netsnmp比较简单,特来记录一下模块安装的真实过程。

在window的一些坑

刚开始在windows下安装这个模块,刚开始想着pip install,现在看来这个想法简直不要too young,然后看到网上有人说可以用源码安装,然后我就去下载了源码 net-snmp-5.7.3.tar.gz,大概就是解压–》进入python目录–》python setup install,随之而来的是一大堆报错,刚开始以为是版本的问题,先是py3.6,想都不用想,各种奇葩报错,然后看到偏底层的交互py2.7支持的更好,同样的,可能是我能力的问题,照样失败。下班回家用朋友苹果机试了试, 一套pip install轻松搞定。又挣扎了两天之后果断放弃windows,继而转向在linux环境下安装。并且感叹

在windows下搞python,有点浪费生命的意思。!!!!!入坑要慎重

linux下安装

啰嗦了折磨多,直接上教程把
python2.7.5环境+centos7+net-snmp-5.7.3.tar.gz
1、环境
下面的环境不装不知道有没有问题,失败次数太多,不记得哪些必要哪些不必要了,反正就是一顿操作,确认一下总没错。需要确认系统中安装了以下环境:直接上命令

yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker –y
yum install -y python-devel
yum -y install make gcc gcc-c++ openssl openssl-devel
wget   https://bootstrap.pypa.io/ez_setup.py
python ez_setup.py

然后就进入正题了

tar xzvf net-snmp-5.7.3.tar.gz
cd net-snmp-5.7.3
./configure#装了以上环境config应该没啥问题了,不装肯定有问题,就算这里没问题,下边也会有问题
make
make install
ln -s /usr/local/lib/libnetsnmp.so.30 /usr/lib/#不做这个在import netsnmp的时候会提示没什么clientXXX方法

然后

ldconfig

进入到解压的包的文件夹的python文件夹

cd python/

然后

python setup.py build

再然后测试

python setup.py test

这一步应该需要本机上安装net-snmp软件并进行相关配置,yum install net-snmp*就行,然后对snmpd.conf文件进行配置,不然抓不到信息。非必要步骤。
下面是我们最关键的 install命令

python setup.py install

如果没有上面安装的环境,这里会各种花式报错
,如果你看到了successful字样那你就成功了,如果还有报错,那我也不知道怎么办了。。。

后记

python方便,模块难装,且装且珍惜。另外python中还有一个模块叫做netsnmp-py,python3中有个交python3-netsnmp,import netsnmp都不会报错,但是可能不包含你想要的方法。多实践,多探究,加油努力早日不做菜鸡。周末愉快。。。去做饭啦。

你可能感兴趣的:(python,linux,centos,snmp,交换机)