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

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

6
.. # Uncomment after updating PyPI |Python Versions|
Guolin Ke's avatar
Guolin Ke committed
7

Guolin Ke's avatar
Guolin Ke committed
8
9
10
Installation
------------

Guolin Ke's avatar
Guolin Ke committed
11
12
13
Preparation
'''''''''''

14
`setuptools <https://pypi.python.org/pypi/setuptools>`_ is needed.
Guolin Ke's avatar
Guolin Ke committed
15
16
17
18
19

For Mac OS X users, gcc with OpenMP support must be installed first. Refer to `wiki <https://github.com/Microsoft/LightGBM/wiki/Installation-Guide#osx>`_ for installing gcc with OpenMP support.

Note: 32-bit python is not supported. Please install 64-bit version.

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

24
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
25

26
.. code:: sh
Guolin Ke's avatar
Guolin Ke committed
27

28
    pip install lightgbm
Guolin Ke's avatar
Guolin Ke committed
29

30
31
Build from sources
******************
Guolin Ke's avatar
Guolin Ke committed
32

33
.. code:: sh
Guolin Ke's avatar
Guolin Ke committed
34

35
    pip install --no-binary :all: lightgbm
Guolin Ke's avatar
Guolin Ke committed
36

37
For Linux and Mac OS X users, installation from sources requires installed `CMake <https://cmake.org/>`_.
Guolin Ke's avatar
Guolin Ke committed
38

39
For Mac OS X users, you need to specify compilers by runnig ``export CXX=g++-7 CC=gcc-7`` first.
Guolin Ke's avatar
Guolin Ke committed
40

41
For Windows users, Visual Studio (or `MS Build <https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017>`_) 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
42

43
44
Build GPU version
~~~~~~~~~~~~~~~~~
Guolin Ke's avatar
Guolin Ke committed
45

46
.. code:: sh
47

48
    pip install lightgbm --install-option=--gpu
49

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

52
Note: Boost and OpenCL are needed: details for installation can be found in `gpu-support <https://github.com/Microsoft/LightGBM/wiki/Installation-Guide#with-gpu-support>`_. You need to add ``OpenCL_INCLUDE_DIR`` to the environmental variable **'PATH'** and export ``BOOST_ROOT`` before installation.
53

54
55
56
57
58
59
60
61
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
62

Guolin Ke's avatar
Guolin Ke committed
63
64
Install from GitHub
'''''''''''''''''''
Guolin Ke's avatar
Guolin Ke committed
65

66
For Linux and Mac OS X users, installation from GitHub requires installed `CMake <https://cmake.org/>`_.
Guolin Ke's avatar
Guolin Ke committed
67

68
For Windows users, Visual Studio (or `MS Build <https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017>`_) 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
69

Guolin Ke's avatar
Guolin Ke committed
70
71
.. code:: sh

72
    git clone --recursive https://github.com/Microsoft/LightGBM.git
Guolin Ke's avatar
Guolin Ke committed
73
    cd LightGBM/python-package
74
    # export CXX=g++-7 CC=gcc-7  # for Mac OS X users only
Guolin Ke's avatar
Guolin Ke committed
75
76
    python setup.py install

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

79
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
80

81
82
83
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 `gpu-support <https://github.com/Microsoft/LightGBM/wiki/Installation-Guide#with-gpu-support>`_.

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/wiki/Installation-Guide>`_) and then run ``python setup.py install --precompile``.
Guolin Ke's avatar
Guolin Ke committed
84
85
86
87

Examples
--------

88
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
89
90

Troubleshooting
Guolin Ke's avatar
Guolin Ke committed
91
---------------
wxchan's avatar
wxchan committed
92

93
Refer to `FAQ <https://github.com/Microsoft/LightGBM/tree/master/docs/FAQ.md>`_.
wxchan's avatar
wxchan committed
94
95

Developments
Guolin Ke's avatar
Guolin Ke committed
96
------------
wxchan's avatar
wxchan committed
97

Guolin Ke's avatar
Guolin Ke committed
98
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
99

100
- E1 Indentation (check pep8 link above)
wxchan's avatar
wxchan committed
101
102
103
104
105
106
107
- 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
108
E501 can be ignored (line too long).
Guolin Ke's avatar
Guolin Ke committed
109

110
111
112
113
114
.. |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
.. |PyPI Version| image:: https://badge.fury.io/py/lightgbm.svg
Guolin Ke's avatar
Guolin Ke committed
115
    :target: https://badge.fury.io/py/lightgbm