如何在Windows 7下安装libsvm for python?

想知道如何在Windows 7下安装libsvm for python

我下载了livsvm zip,但是我不明白包含的说明。 我已经将libsvm.dll放在我的c:\ windows \ system32目录中,但是当我尝试时

import svmutil 

要么

 from svm import * 

我明白了

 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "svmutil.py", line 3, in <module> from svm import * File "svm.py", line 16, in <module> '../windows/libsvm.dll')) File "C:\Python27\lib\ctypes\__init__.py", line 365, in __init__ self._handle = _dlopen(self._name, mode) WindowsError: [Error 126] The specified module could not be found 

我认为没有必要将dll放在C:\ windows \ system32目录中,除非您使用的是旧版本的Windows(XP及更早版本)。

确保:

  • 在libsvm \ python目录中启动包含from svmutil import * python测试脚本
  • 您仍然在libsvm \ windows目录中有一个libsvm dll的副本(如果您移动到C:\ windows \ system32,请将一个副本放回到libsvm \ windows目录中)

这在我的电脑上工作。

解决了:
1.导航到http://www.lfd.uci.edu/~gohlke/pythonlibs/#libsvm
2.下载对应于您的操作系统的libsvm的.whl文件。
3.打开命令提示符并导航到包含下载的.whl文件的文件夹。
4.在命令提示符下键入以下命令 –

pip安装libsvm-3.20-cp27-none-win32.whl

注:pip安装后输入.whl文件的名称

我发现在Windows上安装libSVM以及其他Python库的最好方法是使用非官方的Windows二进制文件,在这里:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#libsvm

本页面为Python编程语言的官方CPython发行版提供了许多科学开源扩展包的32位和64位Windows二进制文件。

大多数二进制文件是从PyPI或项目公共版本控制系统上的源代码构建的。 源代码更改(如果有的话)已经提交给项目维护者或包含在包中。

许多二进制文件依赖于Numpy-MKL 1.8和/或Microsoft Visual C ++ 2008(64位或32位,用于CPython 2.6到3.2)或Visual C ++ 2010(64位或32位,用于CPython 3.3和3.4)可再发行组件包。

在Windows 7和libsvm 3.18上,我也遇到了一些问题,上面的解决方案都没有工作。 它只是无法找到或不喜欢../windows/libsvm.dll文件,无论我尝试什么文件路径体操。 我也遇到了32位与64位不兼容(我的Python是64位)。

我支持自己试图从visual studio重新编译的痛苦,但是这最终是不必要的。 结果为我工作的只是安装scikit学习,其中包括libsvm和很好地包装( http://scikit-learn.org/stable/index.html )。

如果你像我一样使用Anaconda发行版,这是非常痛苦的。 只需在命令行键入conda install scikit-learn

然后,您可以import sklearn.svm.libsvm as svm一样import sklearn.svm.libsvm as svm并像调用libsvm一样调用它,如果您希望忽略scikit-learn的其他方面。 它只是工作。

我知道你在1年前问过这个问题,但是我仍然想发布我的解决方案,以防其他人受益。

  1. 把libsvm放到任何地方。 在C:\Python27\Lib\site-packages\libsvm-3.17

  2. 在Windows环境中设置PYTHONPATH。 进入系统属性 – >高级 – >环境变量。
    添加名为PYTHONPATH新变量,将值设置为C:\Python27\Lib\site-packages\libsvm-3.17\python