Install xgboost using conda on Debian

761 views Asked by At

When I try to install conda with following command conda install -c aterrel xgboost=0.4.0, I have an error

UnsatisfiableError: The following specifications were found to be in conflict:
  - python 3.5*
  - xgboost 0.4.0*
Use "conda info <package>" to see the dependencies for each package.

The command conda info xbgoost gives me

NoPackagesFoundError: Package missing in current linux-64 channels: 
  - xgboost

Ho to fix it and install xgboost?

2

There are 2 answers

0
Guillaume On BEST ANSWER

with Anaconda 4.4.0 just type conda install py-xgboost

0
Nehal J Wani On

As of conda 4.3.5, there is no option to specify channel to conda info. So to print the info of the package, you can do:

(root) ~/condaexpts $ conda config --add channels aterrel                                                                                                                                             
(root) ~/condaexpts $ conda info xgboost                                                                                                                                                              
Fetching package metadata ...........

xgboost 0.4.0.c4fa2f py27_0
---------------------------
file name   : xgboost-0.4.0.c4fa2f-py27_0.tar.bz2
name        : xgboost
version     : 0.4.0.c4fa2f
build string: py27_0
build number: 0
channel     : aterrel
size        : 441 KB
arch        : x86_64
license     : ALv2
md5         : 8f282fc35e18ef443771617459eeb8ad
platform    : linux
requires    : ()
subdir      : linux-64
url         : https://conda.anaconda.org/aterrel/linux-64/xgboost-0.4.0.c4fa2f-py27_0.tar.bz2
dependencies:
    numpy
    python 2.7*
    scikit-learn
    scipy

xgboost 0.4.0 np19py27_0
------------------------
file name   : xgboost-0.4.0-np19py27_0.tar.bz2
name        : xgboost
version     : 0.4.0
build string: np19py27_0
build number: 0
channel     : aterrel
size        : 270 KB
arch        : x86_64
license     : ALv2
md5         : 8dd98afb385109adb42f08337842cc18
platform    : linux
requires    : ()
subdir      : linux-64
url         : https://conda.anaconda.org/aterrel/linux-64/xgboost-0.4.0-np19py27_0.tar.bz2
dependencies:
    numpy 1.9*
    python 2.7*
    scikit-learn
    scipy           

(root) ~/condaexpts $ conda config --remove channels aterrel

You can also view the same information at the channel's manifest.

Coming back to your original query, there is a conflict arising because the package xgboost in aterrel's channel has only been built for python 2.7 and not for python 3.5 which is also evident by the build string py27 in the package name.

You can, however, build it for python 3.5:

(root) ~/condaexpts $ wget https://anaconda.org/aterrel/xgboost/0.4.0.c4fa2f/download/linux-64/xgboost-0.4.0.c4fa2f-py27_0.tar.bz2 
(root) ~/condaexpts $ tar -xf xgboost-0.4.0.c4fa2f-py27_0.tar.bz2 -C /tmp/xgboost/
(root) ~/condaexpts $ conda install conda-build -y
(root) ~/condaexpts $ conda-build /tmp/xgboost/info/recipe
(root) ~/condaexpts $ conda install xgboost --use-local -y
Fetching package metadata ...........
Solving package specifications: .

Package plan for installation in environment /home/ubuntu/condaexpts/m3:

The following NEW packages will be INSTALLED:

    xgboost: 0.4.0.c4fa2f-py35_0 local
(root) ~/condaexpts $ python -c 'import xgboost; print(xgboost.__version__)'
0.4