How to Setup LIBSVM for Python
Question: I built [libsvm](http://www.csie.ntu.edu.tw/~cjlin/libsvm/) on Mac OS X with
Make.

    
    
    $ tar xzfv libsvm-3.17.tar.gz
    $ cd libsvm-3.17
    $ make
    

This built the various libsvm binaries:

    
    
    $ ls
    COPYRIGHT           heart_scale svm-predict.c   svm-train.c tools
    FAQ.html            java        svm-scale   svm.cpp     windows
    Makefile            matlab      svm-scale.c svm.def
    Makefile.win    python      svm-toy     svm.h
    README      svm-predict svm-train   svm.o
    

I also linked to this in `/usr/local`:

    
    
    $ ls -la /usr/local/
    ...
    svm -> /usr/local/libsvm-3.17/
    

And appended the Python bindings to my path:

    
    
    import sys
    sys.path.append('/usr/local/svm/python')
    

But the Python bindings cannot find the "LIBSVM" library:

    
    
    $ python test.py 
    Traceback (most recent call last):
       File "test.py", line 8, in <module>
          import svmutil
       File "/usr/local/svm/python/svmutil.py", line 5, in <module>
          from svm import *
       File "/usr/local/svm/python/svm.py", line 22, in <module>
          raise Exception('LIBSVM library not found.')
    Exception: LIBSVM library not found.
    

Can anyone tell me how to set this up? In the python readme for libsvm the
only description is

    
    
    Installation 
    ============
    
    On Unix systems, type
    
    > make
    
    The interface needs only LIBSVM shared library, which is generated by
    the above command. We assume that the shared library is on the LIBSVM
    main directory or in the system path.
    

What am I missing?


Answer: Instead of going through libsvm in order to access it with Python (I installed
libsvm through MacPorts, and `import svmutil` fails), you might want to
install the popular [scikit-learn](http://scikit-learn.org/stable/) package,
which contains an optimized version of [libsvm with Python
bindings](http://scikit-learn.org/stable/modules/svm.html#svm).

The install is very simple with [MacPorts](http://macports.org): `sudo port
install py27-scikit-learn` (adapt `py27` to whatever version of Python you
use).

