11

想知道如何在 windows 7 下为 python 安装 libsvm?

我下载了 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
4

5 回答 5

12

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

- pip install libsvm-3.20-cp27-none-win32.whl

注意:在 pip install 之后输入 .whl 文件的名称

于 2015-09-02T16:23:33.177 回答
4

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

确保:

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

这适用于我的电脑。

于 2012-10-13T22:13:09.910 回答
4

我发现在 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)可再发行包。

于 2014-01-25T12:26:26.493 回答
3

我在 Windows 7 和 libsvm 3.18 上也遇到了很多问题,上面的解决方案都没有奏效。../windows/libsvm.dll无论我尝试什么文件路径体操,它都找不到或不喜欢该文件。我也遇到了 32 位和 64 位的不兼容问题(我的 python 是 64 位的)。

我为尝试从 Visual Studio 重新编译的痛苦做好了准备,但这最终是不必要的。最终对我有用的是简单地安装 scikit-learn,它包含 libsvm 并很好地包装在里面(http://scikit-learn.org/stable/index.html)。

如果您像我一样使用 Anaconda 发行版,那么这将非常轻松。只需conda install scikit-learn在命令行中键入。

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

于 2014-05-23T17:22:56.543 回答
1

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

  1. 将 libsvm 放在任何地方。我的C:\Python27\Lib\site-packages\libsvm-3.17

  2. 在 windows 环境下设置 PYTHONPATH。转到系统属性 -> 高级 -> 环境变量。
    添加新变量,命名为PYTHONPATH,将值设置为C:\Python27\Lib\site-packages\libsvm-3.17\python

于 2013-10-06T08:24:16.093 回答