ubuntu下安装libsvm出现 LIBSVM library not found.

出现的问题


ExceptionTraceback (most recent call last)
input-1-f30f62bb1341> in <module>()
      1 import sys
      2 sys.path.append('/home/jerry/workshop/virtualenv/libsvm/python')
----> 3 from svmutil import *

/home/jerry/workshop/virtualenv/libsvm/python/svmutil.py in <module>()
      3 import os, sys
      4 sys.path = [os.path.dirname(os.path.abspath(__file__))] + sys.path
----> 5 from svm import *
      6 from svm import __all__ as svm_all
      7 from svm import scipy, sparse

/home/jerry/workshop/virtualenv/libsvm/python/svm.py in <module>()
     36                 libsvm = CDLL(find_library('libsvm'))
     37         else:
---> 38                 raise Exception('LIBSVM library not found.')
     39 
     40 C_SVC = 0

Exception: LIBSVM library not found.

解决方法

首先我是从github上直接clone下来的源码, 然后按照网上的说法,在libsvm目录下面直接make, 完成之后当前目录下面会生成svm-predict, svm-scale和svm-train三个文件,
网上很多教程到这里就算安装完毕,但是我在使用from svmutil import * 的时候还是会出现上面问题.
这时候网上有两种解决方式:

  • 在sys.path中将libsvm的路径添加上去
    即每次在代码前面添加下面的一段代码:
import sys
sys.path.append('/UserPath/libsvm/python')

但是还是存在上面的问题.
- 将python目录下的svm.py和svmutil.py文件复制到/lib/pyhton/site-packges下面

我尝试之后还是存在上面的问题.

后来所在查找文献的时候发现我的libsvm目录下面没有出现libsvm.so.2这个文件,自己应该是少做了一步,后来才发现并没有在libsvm/python目录下make.很多人可能会忘掉这一步.

参考文献

1
2
3

你可能感兴趣的:(python,libsvm)