windows上安装python的netsnmp模块太难了_net-snmp启用python模块(python-netsnmp安装) | 学步园...

因项目中要用到snmp来取数,所以需要弄个snmp服务端,选来选去还是选了netsnmp。首先:

1、解压源码包:

tar –zxvf net-snmp-5.7.1。tar.gz

2、进入解压后的文件目录:

cd net-snmp-5.7.1

3、 执行文件目录下的configure可执行文件,如果想指定程序包的安装路径,那么您首先建立相应的文件夹来存放安装信息,您可以写 成./configure –prefix=/您指定的路径名。参数—prefix用来告诉系统安装信息存放的路径,如果您没有指定路径,直接执行./configure,那么程序 包都会安装在系统默认的目录下,通常为:/usr/local下(网上说默认会到这个目录下,而我安装了二次在这目录下都没有看到文件,只有指定prefix文件才能看到。)。例如:

./configure --prefix=/usr/local/netsnmp //配置 指定安装目录,安装过程会询问您以下的信息:

注意:以下问题似乎不怎么重要,那好像仅仅是官方想了解使用本软件方的信息,可以直接回车而不用回答,系统会采用默认信息,其中日志文件默认安装在/var/log/snmpd.log.数据存贮目录默认存放在/var/net-snmp下。

default version of-snmp-version(3): 3(在这里版本通常有三种形式:1,2c,3)

Systemcontact information(配置该设备的联系信息): heaven(也可以是邮箱地址)

System location (该系统设备的地理位置):BEIJING P.R China

Location to write logfile (日志文件位置): /var/log/snmpd.log

Location to Write persistent(数据存储目录): /var/net-snmp

一般编译源码包不会出现什么错误,而当make的时候centos就报错了。

Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 1.

BEGIN failed--compilation aborted at Makefile.PL line 1.

make: *** [perlmakefiles] 错误 2

网上说是少ExtUtils/MakeMaker.pm 这个模块。然后找了下,51cto上用这个解决:yum -y install perl-devel-5.8.8-32.fc8

而我自己是用的:yum -y install perl-devel-5.8.8-32.fc8

这样过后可正常安装而不报错了。在5.7的版本下snmpd.conf文件是自己已经写好了,不需要在像网上那样把example.conf文件复制过来了,然后自己修改下代理即可。

安装完后就已经启动了。直接用snmp -V就可以得到版本号了,一般来说不会出什么问题。

然后进入net-snmp/python文件夹 python setup.py install 这时没有错误。

但import 时又出错了:

>>> import netsnmp

Traceback (most recent call last):

File "", line 1, in

File "netsnmp/__init__.py", line 1, in

from client import *

File "netsnmp/client.py", line 1, in

import client_intf

ImportError: No module named client_intf

不知道是不是在编译的时候没有加个python 模块,然后就直接 yum install net-snmp-python,安装完成后也没有报错,

然后import 时又出错:我勒个去,- -!

>>> import netsnmp

Traceback (most recent call last):

File "", line 1, in

File "/usr/lib64/python2.6/site-packages/netsnmp_python-1.0a1-py2.6-linux-x86_64.egg/netsnmp/__init__.py", line 1, in

from client import *

File "/usr/lib64/python2.6/site-packages/netsnmp_python-1.0a1-py2.6-linux-x86_64.egg/netsnmp/client.py", line 1, in

import client_intf

ImportError: libnetsnmp.so.30: cannot open shared object file: No such file or directory

感觉是没这个文件,网上看了下,solution:

ln -s /usr/local/lib/libnetsnmp.so.30 /usr/lib/

终于可以import了,我。。。。。。

mark,mark,呵呵

等脚本写完后会发布,有兴趣的可以大家一起交流交流。。。HOHO。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值