How to install xgboost package in python (windows platform)?
I installed XGBoost successfully in Windows 8 64bit, Python 2.7 with Visual Studio 2013 (don't need mingw64)
Updated 15/02/2017
With newer version of XGBoost, here are my steps
Step 1. Install cmake https://cmake.org/download/
Verify cmake
have been installed successfully
$ cmake
Usage
cmake [options] <path-to-source>
cmake [options] <path-to-existing-build>
...
Step 2. Clone xgboost source
$ git clone https://github.com/dmlc/xgboost xgboost_dir
Step 3. Create Visual Studio Project
$ cd xgboost_dir
$ mkdir build
$ cd build
$ cmake .. -G"Visual Studio 12 2013 Win64"
Step 4. Build Visual Studio 2013 project
- Open file
xgboost_dir/build/ALL_BUILD.vcxproj
with Visual Studio 2013 - In Visual Studio 2013, open
BUILD > Configuration Manager...
- choose Release in Active solution configuration
- choose x64 in Active solution platform
- Click BUILD > Build Solution (Ctrl + Shift +B)
After build solution, two new files libxgboost.dll
and xgboost.exe
are created in folder xgboost_dir/lib
Step 5. Build python package
- Copy file
libxgboost.dll
toxgboost_dir/python-package
- Change directory to
xgboost_dir/python-package
folder - Run command
python setup.py install
Verify xgboost have been installed successfully
$ python -c "import xgboost"
Old Answer
Here are my steps:
- git clone https://github.com/dmlc/xgboost
- git checkout 9bc3d16
- Open project in
xgboost/windows
with Visual Studio 2013 - In Visual Studio 2013, open
BUILD > Configuration Manager...
,- choose
Release
inActive solution configuration
- choose
x64
inActive solution platform
- choose
- Rebuild
xgboost
,xgboost_wrapper
- Copy all file in
xgboost/windows/x64/Release
folder toxgboost/wrapper
- Go to
xgboost/python-package
, run commandpython setup.py install
- Check xgboost by running command
python -c "import xgboost"
Note that as of the most recent release the Microsoft Visual Studio instructions no longer seem to apply as this link returns a 404 error:
https://github.com/dmlc/xgboost/tree/master/windows
You can read more about the removal of the MSVC build from Tianqi Chen's comment here.
So here's what I did to finish a 64-bit build on Windows:
- Download and install MinGW-64: http://sourceforge.net/projects/mingw-w64/
- On the first screen of the install prompt make sure you set the Architecture to x86_64 and the Threads to win32
- I installed to C:\mingw64 (to avoid spaces in the file path) so I added this to my PATH environment variable: C:\mingw64\mingw64\bin
- I also noticed that the make utility that is included in bin\mingw64 is called mingw32-make so to simplify things I just renamed this to make
- Open a Windows command prompt and type gcc. You should see something like "fatal error: no input file"
- Next type make. You should see something like "No targets specified and no makefile found"
- Type git. If you don't have git, install it and add it to your PATH.
These should be all the tools you need to build the xgboost project. To get the source code run these lines:
- cd c:\
- git clone --recursive https://github.com/dmlc/xgboost
- cd xgboost
- git submodule init
- git submodule update
- cp make/mingw64.mk config.mk
- make -j4
Note that I ran this part from a Cygwin shell. If you are using the Windows command prompt you should be able to change cp to copy and arrive at the same result. However, if the build fails on you for any reason I would recommend trying again using cygwin.
If the build finishes successfully, you should have a file called xgboost.exe located in the project root. To install the Python package, do the following:
- cd python-package
- python setup.py install
Now you should be good to go. Open up Python, and you can import the package with:
import xgboost as xgb
To test the installation, I went ahead and ran the basic_walkthrough.py file that was included in the demo/guide-python folder of the project and didn't get any errors.
In case anyone's looking for a simpler solution that doesn't require compiling it yourself:
- download xgboost whl file from here (make sure to match your python version and system architecture, e.g. "xgboost-0.6-cp35-cp35m-win_amd64.whl" for python 3.5 on 64-bit machine)
- open command prompt
cd
to your Downloads folder (or wherever you saved the whl file)pip install xgboost-0.6-cp35-cp35m-win_amd64.whl
(or whatever your whl file is named)
If you find it won't install because of a missing dependency, download and install the dependency first and retry.
If it complains about access permissions, try opening your command prompt as Administrator and retry.
This gives you xgboost and the scikit-learn wrapper, and saves you from having to go through the pain of compiling it yourself. :)