码迷,mamicode.com
首页 > 编程语言 > 详细

64位win7,32位python下安装libsvm

时间:2016-04-19 19:45:41      阅读:3589      评论:0      收藏:0      [点我收藏+]

标签:

先说明一下我的各个版本,电脑win7 64位,python 2.7版本32位,已安装的各种python库都是32位。

所以我这篇文章针对的是以上配置的情况,如果你是64位系统,64位python,请参考 http://blog.csdn.net/lj695242104/article/details/39500039 中.dll文件的获得方法。

我在安装时,被两个error困了一整天,一个是“WindowsError: [Error 193] %1 不是有效的 Win32”,另一个是Exception: LIBSVM library not found.

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

接下来,让我们重头开始。

#####################################正文###############################################

step1: 从libsvm官网(http://www.csie.ntu.edu.tw/~cjlin/libsvm/)上下载zip压缩包,在任意目录下解压。

cmd下进入python,

import os
os.chdir('..\libsvm\python')
from svmutil import *

报错:Exception: LIBSVM library not found.

原因:zip包里的windows\libsvm.dll版本不对

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

技术分享技术分享

cp后的数字表示python版本,win32为32位机,win_amd64为64位机。这里机器的版本号应和你安装的python版本号对应,

查看方法:(1)直接打开IDLE,即可查看

技术分享技术分享

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

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

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

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

step3: 安装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文件夹

技术分享技术分享

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

技术分享技术分享技术分享

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

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

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

from svmutil import *

你会发现终于不报错了。

如果还找不到,可能是你PYTHON的默认路径有问题。

解决办法:(1)进入到你解压zip文件的路径中运行

import os 

os.chdir(‘..\libsvm\python‘)  #..为你解压的libsvm的路径

(2)直接将该路径添加到系统默认搜索路径中,以后再也不用那么麻烦了

import sys 

sys.path.append(‘..\libsvm\python‘)

#########################后话##########################################

安装的过程极其艰难,从网上找了大量的资料,但都是只言片语,两个错误最终还是自己摸索出来了,所以整理出来希望对其他遇到此类问题的朋友有所帮助。

对于很多前辈的安装文档中说要将svm.py, svmutil.py文件移到site-package目录下,或者将libsvm.dll文件放到system32目录中,还有的说要修改系统路径等等。这些我都进行了尝试,但并不能解决问题。最后我通过实践发现这些操作完全可以省略,原因应该是安装环境不同,有的是XP需要的操作...

所以,在参考的时候还是应该多总结,多整理。灵活变通,善于思考。与君共勉。

64位win7,32位python下安装libsvm

标签:

原文地址:http://blog.csdn.net/rena521/article/details/51187981

(2)
(7)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!