2016-04-04 Build xgboost 0.4a30 for Python 3.4 and 3.5¶
xgboost does not support the Windows
compilation anymore so I had to look for a way to compile xgboost for Windows.
I tried to start from the source but it seemed quite complex plus the owners
mention they don’t support it anymore. Instead, I chose to use
the source included the release package on
PyPi.
I copy paste some of the instructions I used from the previous
blog post I wrote on that topic since I did not start from a fresh and empty
environment. The steps I did not do again are marked with a *
.
This is the process I followed:
Install Visual Studio Community Edition (C++). The link points to an image .iso.
*
Install the Java JDK. Select the newest version.
*
Download the modified version of xgboost from PyPI.
Check OpenMD files are present in
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
with filesvcomp.lib
,vcombd.lib
,omp.h
. This is also what you should follow to get missing dependency such asvcomp110.dll
(which comes from OpenMP in Visual C++).*
Open the solution in Windows directory (in xgboost) and update the path to point to Java JDK and OpenMP, build the version release/x64, update paths to point to your version of Java SDK
*
Copy/Paste the built assemblies
xgboost_wrapper.dll
into the python folderGo to the python folder and type
python setup.py bdist_wheel
to build the file .whl.
This wheel can be installed on any Python 3.4 and 3.5 64 bits installation. It is available at xgboost-0.4a30-py3-none-any.whl. The source I used to compile are located on github
About
OpenMP is an API that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran (Wikipedia).
XGBoost: A Scalable Tree Boosting System, paper by Tianqi Chen, Carlos Guestrin