首先net-snmp是个软件
然后我的目标是先安装net-snmp到CentOS,再导入python使用的netsnmp模块
即:
为最终目标
---------------------------------------------
从官网下载net-snmp的源码,然后
./congficure
make
make install
值得讲的是在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] ERROR 2
我的解决方法是:
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
--------------------------------
在make install完成之后直接:
cd python
python setup.py build
python setup.py test
这里python setup.py build的时候,我的系统默认是python3.4,在build的时候出错,(python2.7就不会出错,看来3.4对缩进更加严格哦)
TabError: inconsistent use of tabs and spaces in indentation
然后去看setup.py文件的时候发现有一行(14行)的缩进是tab而不是4空格,哈哈,这算bug吗
然后python setup.py test的时候又出错:
ImportError: libnetsnmp.so.30: cannot open shared object file: No such file or directory
因为net-snmp是我编译安装的,还是默认的,所以它的文件是分散的,其中/usr/local/lib里有一部分
找不到这部分是错误的原因,解决方法如下:
echo "/usr/local/netsnmp/lib" >> /etc/ld.so.conf
ldconfig
然后
python setup.py install
安装python模块,至此就会出线文章开头那么美妙的东西了
DONE.