linux系統安裝xgboost過程


今天在linux服務器上安裝了xgboost,和python接口,
由於系統版本老舊,着實費了一番周折,裝成后把過程記錄一下。

先按官方文檔上的步驟操作:
git clone --recursive https://github.com/dmlc/xgboost cd xgboost;

cp make/config.mk ./config.mk
make -j4
編譯報錯,提示找不到c++11
gcc -v 發現系統中gcc版本是4.4.6,版本過低
安裝gcc4.8.5

將config.mk中的:
export CC = gcc export CXX = g++
改成:
export CC = /usr/local/gcc/bin/gcc export CXX = /usr/local/gcc/bin/g++
編譯程序配置指向gcc4.8.5安裝后位置

再次
make -j4,編譯成功!

如果想使用python接口,需安裝python程序包,安裝步驟如下:
cd python-package; sudo python setup.py install
安裝失敗,提示缺少scipy,安裝scipy:
sudo pip install scipy

報錯,未裝pip
於是下載pip-18.0.tar.gz,解壓后手動安裝:
sudo python setup.py install

安裝后,pip -v 測試失敗

系統python版本是2.6,看樣子像是python版本與pip-18不兼容。
下載Python-2.7.13.tgz,手動安裝。
執行python2.7:

sudo /usr/local/bin/python2.7 setup.py install
安裝后pip -v 還是失敗,觀察報錯提示,pip還是裝到了python2.6中。
猜測應該是因為沒有將默認python版本升級到2.7,
備份/usr/bin/python:
cd /usr/bin
mv python python.old
再將pyton鏈接到pthon2.7所在位置
ln -s /usr/local/bin/python2.7 python
再次回到pip安裝目錄,
sudo python setup.py install
測試,pip -v 成功。

繼續安裝scipy
安裝成功

回到xgboost/python-package目錄中,繼續安裝python接口:
提示,缺少python-setuptools,看文檔中提到需要裝python-setuptools,就按說明安裝:
sudo apt-get install python-setuptools
提示沒有安裝apt-get (崩潰)
執行命令:
wget https://bootstrap.pypa.io/ez_setup.py
下載ez_setup.py文件
sudo python ez_setup.py
安裝成功。

繼續安裝python-setuptools,安裝成功。

再次嘗試安裝python-package
安裝結束沒有報錯,在python中測試,import xgboost as xgb,失敗。
看提示信息還是像依賴包版本不兼容的樣子。

看到文檔最開頭有對於python的預編譯二進制包,
安裝方式:
pip3 install xgboost
看着像是用python方式安裝xgboost,
以這種方式安裝后,python接口可以直接使用?
死馬當活馬醫,安裝:
由於沒有pip3,只能試試,
pip install xgboost

安裝成功時提示了已裝好適配了最佳的numpy和scipy。
再次嘗試
import xgboost as xgb
成功了。
 
        
 



 






 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM