mac python安装libsvm_Windows/Mac 下LibSVM安装及easy.py使用

本文详细介绍了在Mac系统中安装LibSVM及其依赖gnuplot和Python2.7的过程,以及解决在使用easy.py时遇到的各种问题,包括gnuplot路径配置、文件关联错误和命令执行权限等。同时,文章提到了Xcode和MacPorts的安装,以及创建Python2.7虚拟环境的方法。虽然最后在执行easy.py时遇到了权限问题,但提供了后续解决思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

windows下:

1.LibSVM及相应组件下载、安装

1.1 Libsvm下载网址:官网、github,下载完成后将压缩包解压,解压后的文件夹直接放在C盘根目录。

1.2gnuplot下载地址:gnuplot,下载后进行安装,安装位置放在C盘根目录下,并将gnuplot.exe添加到系统环境变量。

1.3 Python 2.7 下载安装不再赘述,网上教程很多。我用 python 3.x 也可以成功运行。

1.4 下载实例数据集,并放入 C:\libsvm-3.23\tools 路径下。

1.5 在CMD中运行easy.py:

cd C:\libsvm-3.23\tools

python easy.py scene_train scene_test

其中scene_train为训练集,scene_test为测试集,libsvm官网提供很多dataset实例下载。

2. easy.py的使用中遇到的问题

2.1 找不到gnuplot.exe(按照上面的方法安装在C盘根目录下不会出现此错误,请忽略此条)。

在安装过程中一路默认,并加入到系统环境变量中后,运行easy.py,还是提示:

gnuplot executable not found

打开easy.py的代码,参考下图在第25行代码位置修改代码为:

gnuplot_exe = r"C:\gnuplot\bin\gnuplot.exe"

然后把gnuplot卸载重装,安装位置选择为C盘根目录。我尝试将代码改为其他地址,并将代码做相应调整但不成功,看来只能安装在根目录下,原因不知,这次就不再报错了。

2.2 错误提示“该文件没有与之关联的应用来执行该操作”

解决方法:win10改文件打开方式提示“该文件没有与之关联的应用来执行该操作”怎么办-系统城​www.xitongcheng.comd1f38fdd15c561ea5727eec52bb1a2b0.png

官网没有写是否支持py3,所以还是将其关联到py2.7,问题解决。

2.3 错误提示:ValueError: could not convert string to float: svm_options

解决方法:

在easy.py第52行找到

cmd = '{0} -svmtrain "{1}" -gnuplot "{2}" "{3}"'.format(grid_py, svmtrain_exe, gnuplot_exe, scaled_file)

将其改为:

将其改为cmd = 'python {0} -svmtrain "{1}" -gnuplot "{2}" "{3}"'.format(grid_py, svmtrain_exe, gnuplot_exe, scaled_file)

问题解决,可成功运行。

3. 输出结果

————————

Mac下教程(注意:不完善):

1.软件Xcode的下载和安装

如果是macOS系统较新,可以直接从Mac的app store下搜索下载。对于旧一些的系统班,可以去下面这个网址下载对应的历史版本,例如,对于系统Sierra 10.12,只能下载Xcode 9.2版本,格式为.xip。这个macOS系统版本和Xcode软件版本的对应还是挺难找的,我最终在stock overflow看到有用户提到了10.12对应Xcode9.2才算找到。这个网址需要登录apple ID。Sign In - Apple​developer.apple.com

Xcode的安装很简单没有特别需要注意的。

2.软件Macports的下载和安装

去官网下载与自己的系统对应的软件版本:The MacPorts Project​www.macports.org

Macports的安装还是出现了一点问题,就是一直卡在安装界面:“正在运行软件包脚本”,进度条不再前进,参考的了别人的博客才解决,方法如下:

2.1 打开‘活动监视器’ ,找到进程‘安装器’,点击左上角的叉号图标,选择‘强制退出’

2.2 打开‘终端’,输入命令

ps aux | grep install

找到写着‘MacPorts’的一个进程,左起第二个就是进程ID

2.3 输入命令

sudo kill 888888

其中888888需要改为刚才的进程ID

2.4 给电脑断网

2.5 重新安装,搞定~

原博客还配了图片进行讲解,大家可以点击链接去查看。

3. gnuplot以及python 2.7的安装

3.1 python 2.7的安装不再介绍,我选择的是用miniconda建立py27的虚拟环境。

3.2 gnuplot的安装

前面Xcode和Macports的安装都是在做铺垫,接下来安装gnuplot的参考博客有两个,分别附上链接:博客1、博客2.

3.2.1 打开终端输入

cd /opt/local/bin

sudo port install gnuplot

这时Xcode可能会跳出安装Command line tool的提示,按照提示安装即可。

3.2.2 安装完毕后,重新打开终端输入

gnuplot

plot sin(x)

如果输出sin(x)的图像说明安装成功。

4. 部署libsvm

4.1 libsvm的下载地址参考前面win的介绍,同样将文件夹放在用户名的文件夹下。

4.2 参考了这个博客。打开终端输入:

cd libsvm-3.23 # 进入libsvm文件夹

make # 等待执行完毕

cd python # 进入libsvm->python文件夹

make # 等待执行完毕

和参考博客相比我只执行到这里,因为我想获得和win下命令行一样直接在终端执行easy.py,如果想在python中import可参考原博客。

4.2 参照win下2.1修改代码中gnuplot的路径,软件在 /opt/local/bin 的路径下。

4.3 在终端执行命令

cd libsvm-3.23

cd tools

conda activate py27

python easy.py scene_train scene_test

结果出现如下错误:

该错误目前尚未解决:就算加入sudo命令也还是Permission denied。

解决后再更。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值