我最開始學習xgboost是直接使用機器學習平臺跑的模型,當然前提是在瞭解了xgboost的原理之後。
之後自己想安裝xgboost的時候,發現了一個問題,困擾了很長一段時間。
我最開始使用的是python3,然後安裝xgboost時會報錯,網上找也找不到原因。
然後就直接放棄python3,改裝上python2,再去安裝xgboost,但是也碰到了跟之前同樣的問題,後來安裝成功了,但是之前錯誤的log,沒有截圖了。
但是錯誤還記得:
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders
對,就是這個原因。後來去網上找遇到同樣問題的人,找答案,沒有一個解決辦法能解決這個問題,後來才發現
是自己按照教程操作時,誤解了教程的意思
教程中說
在執行完
1.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.
brew install gcc --without-multilib
之後,再安裝xgboost
cd <directory>
git clone --recursive https://github.com/dmlc/xgboost
對,沒錯。
然後的步驟是:
cd <directory>/xgboost
cp make/config.mk .
意思就是將 make/config.mk 做個備份,備份到當前目錄下即可,即./config.mk,然後就可以修改 config.mk 中的內容了,官方的意思是很好的,意思就是修改一下文件make/config.mk中的相應內就行,修改方法:
export CC = gcc
export CXX = g++
將上面兩行取消註釋,並修改爲下面的樣子(當然了,如果你的gcc版本是5,就將7改爲5即可):
export CC = gcc-7
export CXX = g++-7
但是,初次安裝xgboost的我,卻想當然的認爲,只需要修改文件 ./config.mk 中的相應內容即可,而不用修改文件make/config.mk中的相應內容,天真的我就一直跑啊跑,怎麼都不能安裝成功,直到我看見了這篇教程https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_XGBoost_on_Mac_OSX?lang=zh ,我就知道我錯在哪裏了。
教程中的安裝順序跟之前看的其他教程是不太一樣的,這個教程裏面是要先修改config.mk中的相應內容(而此時由於還沒有做備份,所以只能修改文件make/config.mk中的內容),然後才做備份操作 cp make/config.mk .當然了,就事論事,他這個操作也是有問題的(因爲對重要的文件做備份的原則是對源文件做備份,而這裏是直接對修改後的文件做備份,已經失去了備份的意義),但是不妨礙幫我解決問題啊,哈哈哈哈。
到此爲止,大家明白了吧!
爲了安裝xgboost更加順利,再次友情推薦安裝xgboost的教程
https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_XGBoost_on_Mac_OSX?lang=zh
嚴格按照操作中的順序來進行操作!!!切記切記