Windows 下安装 libsvm for Python

Bittersweet 转载2017-8-23
本文最后更新于 811 天前(2017-8-23),其中的信息可能已经有所发展或者不再适用于现阶段。
本文全长 449 字,全部读完大约需要 2 分钟。

我在安装时,被个 error 困了几分钟:是“WindowsError: [Error 193] %1 不是有效的 Win32”.

具体原因出在 libsvm.dll 文件上。关键是要用正确版本的 libsvm.dll 文件替换 windows 下的 libsvm.dll 文件。

解决办法:

step1: 去万能宝库(http://www.lfd.uci.edu/~gohlke/pythonlibs/)上下载对应版本的 .whl 文件

万能宝库

cp 后的数字表示 python 版本,win32 为 32 位机,win_amd64 为 64 位机。这里机器的版本号应和你安装的 python 版本号对应,查看方法:(1)直接打开 IDLE,即可查看

IDLE

(2)运行 cmd,输入 python -v

(3)运行 cmd,直接输入 python 也可

我下载的是 libsvm-3.21-cp27-none-win32.whl。

.whl 文件的具体运行方法也比较简单,只需要电脑上安装 pip 工具,pip 的安装资料就很多了,大家自己查一下即可。

step2: 安装libsvm-3.21-cp27-none-win32.whl文件。

具体命令为:

pip install ..\..\libsvm-3.21-cp27-none-win32.whl  # ..为 .whl 文件的存放路径

至此,符合你版本的 libsvm 就被存放到你 python 安装目录下的 Lib\site-packages 文件夹中,有一个 \libsvm-3.21.dist-info 文件夹,你点开会发现里面都是些说明文件。

不要着急,重要的的文件还有库文件就在 Lib 目录下,仔细找一下 libsvm.dll,等会儿会用到。

最后一步,打开你最一开始将 libsvm.zip 文件解压的目录,其中有一个 windows 文件夹

windows

打开,里面也有一个 libsvm.dll,是不是很眼熟?

libsvm.dll

没错,刚才在 Lib 目录下,我们通过 .whl 文件也得到一个相同名称的文件。

step3: 复制 Lib 目录下的 libsvm.dll,替换掉 windows 目录下的 libsvm.dll 文件。

至此,你 Libsvm 文件中的 libsvm.dll 文件和你电脑的版本号完全对应,再执行一开始的代码。

from svmutil import *

你会发现终于不报错了。

本文转自网络。