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
成功了。
 
 



 






 

猜你喜欢

转载自www.cnblogs.com/swjs/p/9561769.html