官網上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