官网上mac的安装并不复杂,但是实际操作下来有够吐血的,试了n多方法折腾到凌晨一点。。。。。。
在此详细记录一下以帮助其他踩坑的同学。
前情回顾:
为啥要安装gcc?为了xgboost能够多线程。。。好吧其实我本意并不在此,主要是最简单的单线程我都安装失败了!!就两步简单的操作为什么会失败呢我也不想的啊。。。。。。但是没有关于失败处理的博客,博客都是关于多线程的。那只好一试了。
1.安装gcc
很多博客都会写这样一个命令
brew install gcc --without-multilib
好死不死看了下brew这样安装gcc的版本是最新的7,而且显示没有 --without-multilib的选项。而看网上大家貌似都是gcc6的版本,所以后来删掉重下
brew install gcc6 --without-multilib
这个命令就指定了版本,但是还是显示没有 --without-multilib的选项。好了先不管这个。。
2.替换系统默认的gcc
你以为gcc这样就安装好了吗。NO!!!!!!这就是大坑所在!!!!
如果你输入 gcc -v 发现不是你刚刚安装的版本就请参照博客 http://blog.csdn.net/u010167269/article/details/51951582 进行操作。
3.下载xgboost源码
好了这个就很轻松了
git clone --recursive https://github.com/dmlc/xgboost
4.编译xgboost
第二个大坑。失败了无数次。。。满屏的std,绝望使我质壁分离。如果直接执行
cd xgboost; cp make/config.mk ./config.mk; make -j4
what the fu**??在下看不懂啊啊啊啊啊
翻阅无数博客,最终的解决方法是这样的
首先,修改Makefile文件的几个地方
接着,修改./config.mk
这里要注意第三行也一定要修改!!!!!我看到的博客都是说只修改前两行就好,然并卵。在凌晨一点我毫无希望地修改了第三行,然后通过了。。。。
好了改到这样,终于可以成功地 make -j4了
5.在python里使用
在xgboost目录下执行
cd python-package; sudo python setup.py install