Windows10下thundersvm库的安装脱坑过程

thundersvm 看上去很简单的安装,真是破费周折,记录一下。

这个库涉及到vs环境下编译,配套使用的有vs ,CMake,eigen等,如果GPU版本就需要CUDA, 所以就给安装带来很大难度。

在python环境下,库的安装很简单 

pip install thundersvm  #GPU版本

pip install thundersvm-cpu  #cpu版本

安装完成,发现,不能正常import,报错如下:

>>> import thundersvm
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Anaconda3\envs\test2\lib\site-packages\thundersvm\__init__.py", line 10, in <module>
    from .thundersvm import *
  File "C:\Anaconda3\envs\test2\lib\site-packages\thundersvm\thundersvm.py", line 52, in <module>
    raise FileNotFoundError("Please build the library first!")
FileNotFoundError: Please build the library first!
>>>

原因是 需要生成库lib

生成这个库才是入坑之旅。

按照师兄的  方法  开始战斗

Windows10下 GPU版本的thundersvm的安装经验_cosmosknight的博客-CSDN博客_thundersvm安装

这又是一个坑,因为 生成库的源码,一直在更新,师兄当时用的是早期的版本,如果用这个就掉入深渊了。

准备材料:

win10,(其他版本没有试过)。

vs2017  ,(尝试过,vs2019,2022,CMake都会生成库报错,每个人环境不一样,这只是我的经验,你得去尝试)

如果之前安装过,反复卸载安装,就会出现 由于卸载不干净,导致多个vs版本报错

如果遇到这情况,需要全部卸载所有版本,然后,再用微软的卸载工具 清理一下。

最后,再全新安装vs2017 ,附 微软清理工具 

vs2017下载地址 

附 cmake 3.23.0-rc5

附  这个是thundersvm库

需要用这个来完成,用里面带的eigen就可以,但是,里面是个链接,需要注意一下,不然下载后,是个空文件夹。

准备好这些就开始了 万恶之源的cmake过程。。。

vs  安装截图   注: python很多库安装都需要vs编译器支持,这里是通用的。 

其实的默认安装即可。

echo 编译中
cd C:\my_software\thundersvm\build
cmake .. -DBUILD_SHARED_LIBS=TRUE -DUSE_CUDA=OFF -G "Visual Studio 14 2015 Win64"
pause




#CPU模式用:cmake .. -DBUILD_SHARED_LIBS=TRUE -DUSE_CUDA=OFF -G "Visual Studio 14 2015 Win64"

#GPU模式用:cmake .. -DBUILD_SHARED_LIBS=TRUE -G "Visual Studio 14 2015 Win64"

 以上是批处理,也可能自行cmd运行。

编译过程中会遇到很多问题:

 这里应该是常见的报错,解决方法:卸载vs,再用微软卸载工具彻底清理一下。

然后,用上面推荐的版本vs 2017 ,同时还要注意eigen的路径

这几个版本的是 测试过可以行。

另需要环境变量添加

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\

环境变量添加注意,我测试一个问题无效,添加一个VCTargetsPath 项,忘记去掉了。后来因为这个变量,自己挖坑一次。

接着就是 生成lib

这个过程,也是波折。 用以上的环境,测试无误的。

 最后,cmd到源代码目录执行如下:

(test2) C:\my_software\thundersvm\python>python setup.py install

这样就可以 在python环境import 了。 

总结:重点是vs,这是一个桥梁,很多库都需要这个编译器框架。但是并不是 新版本就能适用。

2020,2019,2017 这几个都测试过,数据量还比较大,安装测试过程很折磨人。

就像找媳妇,并不是所有漂亮的美女就一定适合自己,并不是最新版本就一定会兼容,好用。

如果以上还是搞不定,找高手

+v  t68847216

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值