README.rst 7.42 KB
Newer Older
Guolin Ke's avatar
Guolin Ke committed
1
2
3
LightGBM Python Package
=======================

4
|License| |Python Versions| |PyPI Version|
Guolin Ke's avatar
Guolin Ke committed
5

Guolin Ke's avatar
Guolin Ke committed
6
7
8
Installation
------------

Guolin Ke's avatar
Guolin Ke committed
9
10
11
Preparation
'''''''''''

12
`setuptools <https://pypi.python.org/pypi/setuptools>`_ is needed.
Guolin Ke's avatar
Guolin Ke committed
13

14
For macOS users, gcc with OpenMP support must be installed first. Refer to `Installation Guide <https://github.com/Microsoft/LightGBM/blob/master/docs/Installation-Guide.rst#macos>`__ for installing gcc with OpenMP support.
Guolin Ke's avatar
Guolin Ke committed
15

16
Note: 32-bit Python is not supported. Please install 64-bit version.
Guolin Ke's avatar
Guolin Ke committed
17

18
Install from `PyPI <https://pypi.python.org/pypi/lightgbm>`_ Using ``pip``
19
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
20
For Windows users, `VC runtime <https://go.microsoft.com/fwlink/?LinkId=746572>`_ is needed if Visual Studio (2015 or 2017) is not installed.
Guolin Ke's avatar
Guolin Ke committed
21

22
Install `wheel <http://pythonwheels.com>`_ via ``pip install wheel`` first. After that download the wheel file and install from it:
Guolin Ke's avatar
Guolin Ke committed
23

24
.. code:: sh
Guolin Ke's avatar
Guolin Ke committed
25

26
    pip install lightgbm
Guolin Ke's avatar
Guolin Ke committed
27

28
Build from Sources
29
******************
Guolin Ke's avatar
Guolin Ke committed
30

31
.. code:: sh
Guolin Ke's avatar
Guolin Ke committed
32

33
    pip install --no-binary :all: lightgbm
Guolin Ke's avatar
Guolin Ke committed
34

35
For Linux and macOS users, installation from sources requires installed `CMake <https://cmake.org/>`_.
Guolin Ke's avatar
Guolin Ke committed
36

37
For macOS users, you need to specify compilers by runnig ``export CXX=g++-7 CC=gcc-7`` first.
Guolin Ke's avatar
Guolin Ke committed
38

Nikita Titov's avatar
Nikita Titov committed
39
For Windows users, Visual Studio (or `MS Build <https://www.visualstudio.com/downloads/>`_) is needed. If you get any errors during installation, you may need to install `CMake <https://cmake.org/>`_ (version 3.8 or higher).
Guolin Ke's avatar
Guolin Ke committed
40

41
42
43
44
45
46
47
48
49
50
51
Build MPI Version
~~~~~~~~~~~~~~~~~

.. code:: sh

    pip install lightgbm --install-option=--mpi

For Windows users, compilation with MinGW-w64 is not supported and `CMake <https://cmake.org/>`_ (version 3.8 or higher) is strongly required in this case.

Note: MPI libraries are needed: details for installation can be found in `Installation Guide <https://github.com/Microsoft/LightGBM/blob/master/docs/Installation-Guide.rst#build-mpi-version>`__.

52
Build GPU Version
53
~~~~~~~~~~~~~~~~~
Guolin Ke's avatar
Guolin Ke committed
54

55
.. code:: sh
56

57
    pip install lightgbm --install-option=--gpu
58

59
For Windows users, `CMake <https://cmake.org/>`_ (version 3.8 or higher) is strongly required in this case.
60

61
Note: Boost and OpenCL are needed: details for installation can be found in `Installation Guide <https://github.com/Microsoft/LightGBM/blob/master/docs/Installation-Guide.rst#build-gpu-version>`__. You need to add ``OpenCL_INCLUDE_DIR`` to the environmental variable **'PATH'** and export ``BOOST_ROOT`` before installation.
62

63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
Also you may pass options to CMake via pip options, like

.. code:: sh

    pip install lightgbm --install-option=--gpu --install-option="--opencl-include-dir=/usr/local/cuda/include/" --install-option="--opencl-library=/usr/local/cuda/lib64/libOpenCL.so"

All available options:

- boost-root

- boost-dir

- boost-include-dir

- boost-librarydir

- opencl-include-dir

- opencl-library

For more details see `FindBoost <https://cmake.org/cmake/help/v3.8/module/FindBoost.html>`__ and `FindOpenCL <https://cmake.org/cmake/help/v3.8/module/FindOpenCL.html>`__.

85
86
87
88
89
90
91
92
93
Build HDFS Version
~~~~~~~~~~~~~~~~~~

.. code:: sh

    pip install lightgbm --install-option=--hdfs

For Windows users, `CMake <https://cmake.org/>`_ (version 3.8 or higher) is strongly required in this case.

94
95
96
97
98
99
100
101
Build with MinGW-w64 on Windows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code:: sh

    pip install lightgbm --install-option=--mingw

Note: `CMake <https://cmake.org/>`_ and `MinGW-w64 <https://mingw-w64.org/>`_ should be installed first.
Guolin Ke's avatar
Guolin Ke committed
102

Guolin Ke's avatar
Guolin Ke committed
103
104
Install from GitHub
'''''''''''''''''''
Guolin Ke's avatar
Guolin Ke committed
105

106
For Linux and macOS users, installation from GitHub requires installed `CMake <https://cmake.org/>`_.
Guolin Ke's avatar
Guolin Ke committed
107

Nikita Titov's avatar
Nikita Titov committed
108
For Windows users, Visual Studio (or `MS Build <https://www.visualstudio.com/downloads/>`_) is needed. If you get any errors during installation and there is the warning ``WARNING:LightGBM:Compilation with MSBuild from existing solution file failed.`` in the log, you should install `CMake <https://cmake.org/>`_ (version 3.8 or higher).
Guolin Ke's avatar
Guolin Ke committed
109

Guolin Ke's avatar
Guolin Ke committed
110
111
.. code:: sh

112
    git clone --recursive https://github.com/Microsoft/LightGBM.git
Guolin Ke's avatar
Guolin Ke committed
113
    cd LightGBM/python-package
114
    # export CXX=g++-7 CC=gcc-7  # for macOS users only
Guolin Ke's avatar
Guolin Ke committed
115
116
    python setup.py install

117
Note: ``sudo`` (or administrator rights in Windows) may be needed to perform the command.
Guolin Ke's avatar
Guolin Ke committed
118

119
120
Run ``python setup.py install --mpi`` to enable MPI support. For Windows users, compilation with MinGW-w64 is not supported and `CMake <https://cmake.org/>`_ (version 3.8 or higher) is strongly required in this case. MPI libraries are needed: details for installation can be found in `Installation Guide <https://github.com/Microsoft/LightGBM/blob/master/docs/Installation-Guide.rst#build-mpi-version>`__.

121
Run ``python setup.py install --mingw`` if you want to use MinGW-w64 on Windows instead of Visual Studio. `CMake <https://cmake.org/>`_ and `MinGW-w64 <https://mingw-w64.org/>`_ should be installed first.
Guolin Ke's avatar
Guolin Ke committed
122

123
Run ``python setup.py install --gpu`` to enable GPU support. For Windows users, `CMake <https://cmake.org/>`_ (version 3.8 or higher) is strongly required in this case. Boost and OpenCL are needed: details for installation can be found in `Installation Guide <https://github.com/Microsoft/LightGBM/blob/master/docs/Installation-Guide.rst#build-gpu-version>`__. You can pass additional options to CMake: ``python setup.py install --gpu --opencl-include-dir=/usr/local/cuda/include/``, see `Build GPU Version <#build-gpu-version>`__ for complete list of them.
124

125
126
Run ``python setup.py install --hdfs`` to enable HDFS support. For Windows users, `CMake <https://cmake.org/>`_ (version 3.8 or higher) is strongly required in this case.

127
If you get any errors during installation or due to any other reason, you may want to build dynamic library from sources by any method you prefer (see `Installation Guide <https://github.com/Microsoft/LightGBM/blob/master/docs/Installation-Guide.rst>`__) and then run ``python setup.py install --precompile``.
Guolin Ke's avatar
Guolin Ke committed
128
129
130
131

Examples
--------

132
Refer to the walk through examples in `Python guide folder <https://github.com/Microsoft/LightGBM/tree/master/examples/python-guide>`_.
wxchan's avatar
wxchan committed
133
134

Troubleshooting
Guolin Ke's avatar
Guolin Ke committed
135
---------------
wxchan's avatar
wxchan committed
136

137
138
In case you are facing any errors during the installation process, you can examine ``$HOME/LightGBM_compilation.log`` file, in which all operations are logged, to get more details about occurred problem. Also, please attach this file to the issue on GitHub to help faster indicate the cause of the error.

139
Refer to `FAQ <https://github.com/Microsoft/LightGBM/tree/master/docs/FAQ.rst>`_.
wxchan's avatar
wxchan committed
140
141

Developments
Guolin Ke's avatar
Guolin Ke committed
142
------------
wxchan's avatar
wxchan committed
143

144
The code style of Python-package follows `pep8 <https://www.python.org/dev/peps/pep-0008/>`_. If you would like to make a contribution and not familiar with pep-8, please check the pep8 style guide first. Otherwise, the check won't pass. You should be careful about:
wxchan's avatar
wxchan committed
145

146
- E1 Indentation (check pep8 link above)
wxchan's avatar
wxchan committed
147
148
149
150
151
152
153
- E202 whitespace before and after brackets
- E225 missing whitespace around operator
- E226 missing whitespace around arithmetic operator
- E261 at least two spaces before inline comment
- E301 expected 1 blank line in front of and at the end of a method
- E302 expected 2 blank lines in front of and at the end of a function or a class

Guolin Ke's avatar
Guolin Ke committed
154
E501 can be ignored (line too long).
Guolin Ke's avatar
Guolin Ke committed
155

156
157
158
159
.. |License| image:: https://img.shields.io/badge/license-MIT-blue.svg
   :target: https://github.com/Microsoft/LightGBM/blob/master/LICENSE
.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/lightgbm.svg
   :target: https://pypi.python.org/pypi/lightgbm
160
161
.. |PyPI Version| image:: https://img.shields.io/pypi/v/lightgbm.svg
   :target: https://pypi.python.org/pypi/lightgbm