Skip to main content

LightGBM Python Package

Project description

License Python Versions PyPI Version Downloads API Docs

Installation

Preparation

32-bit Python is not supported. Please install 64-bit version. If you have a strong need to install with 32-bit Python, refer to Build 32-bit Version with 32-bit Python section.

setuptools is needed.

Install from PyPI

pip install lightgbm

Compiled library that is included in the wheel file supports both GPU and CPU versions out of the box. This feature is experimental and available only for Windows and Linux currently. To use GPU version you only need to install OpenCL Runtime libraries. For NVIDIA and AMD GPU they are included in the ordinary drivers for your graphics card, so no action is required. If you would like your AMD or Intel CPU to act like a GPU (for testing and debugging) you can install AMD APP SDK on Windows and PoCL on Linux. Many modern Linux distributions provide packages for PoCL, look for pocl-opencl-icd on Debian-based distributions and pocl on RedHat-based distributions.

For Windows users, VC runtime is needed if Visual Studio (2015 or newer) is not installed.

For Linux users, glibc >= 2.14 is required for LightGBM <=3.3.3 and glibc >= 2.28 is required for newer versions. Also, in some rare cases, when you hit OSError: libgomp.so.1: cannot open shared object file: No such file or directory error during importing LightGBM, you need to install OpenMP runtime library separately (use your package manager and search for lib[g|i]omp for doing this).

For macOS (we provide wheels for 3 newest macOS versions) users:

  • Starting from version 2.2.1, the library file in distribution wheels is built by the Apple Clang (Xcode_8.3.3 for versions 2.2.1 - 2.3.1, Xcode_9.4.1 for versions 2.3.2 - 3.3.2 and Xcode_11.7 from version 4.0.0) compiler. This means that you don’t need to install the gcc compiler anymore. Instead of that you need to install the OpenMP library, which is required for running LightGBM on the system with the Apple Clang compiler. You can install the OpenMP library by the following command: brew install libomp.

  • For version smaller than 2.2.1 and not smaller than 2.1.2, gcc-8 with OpenMP support must be installed first. Refer to Installation Guide for installation of gcc-8 with OpenMP support.

  • For version smaller than 2.1.2, gcc-7 with OpenMP is required.

Use LightGBM with Dask

To install all dependencies needed to use lightgbm.dask, append [dask].

pip install 'lightgbm[dask]'

Use LightGBM with pandas

To install all dependencies needed to use pandas in LightGBM, append [pandas].

pip install 'lightgbm[pandas]'

Use LightGBM with scikit-learn

To install all dependencies needed to use scikit-learn in LightGBM, append [scikit-learn].

pip install 'lightgbm[scikit-learn]'

Build from Sources

pip install --no-binary lightgbm lightgbm

For Linux and macOS users, installation from sources requires installed CMake.

For Linux users, glibc >= 2.28 is required. Also, in some rare cases you may need to install OpenMP runtime library separately (use your package manager and search for lib[g|i]omp for doing this).

For macOS users, you can perform installation either with Apple Clang or gcc.

  • In case you prefer Apple Clang, you should install OpenMP (details for installation can be found in Installation Guide) first and CMake version 3.16 or higher is required.

  • In case you prefer gcc, you need to install it (details for installation can be found in Installation Guide) and specify compilers by running export CXX=g++-7 CC=gcc-7 (replace “7” with version of gcc installed on your machine) first.

For Windows users, Visual Studio (or VS Build Tools) is needed. If you get any errors during installation, you may need to install CMake (version 3.8 or higher).

Build Threadless Version
pip install lightgbm --config-settings=cmake.define.USE_OPENMP=OFF

All requirements, except the OpenMP requirement, from Build from Sources section apply for this installation option as well.

It is strongly not recommended to use this version of LightGBM!

Build MPI Version
pip install lightgbm --config-settings=cmake.define.USE_MPI=ON

All requirements from Build from Sources section apply for this installation option as well.

For Windows users, compilation with MinGW-w64 is not supported and CMake (version 3.8 or higher) is strongly required.

MPI libraries are needed: details for installation can be found in Installation Guide.

Build GPU Version
pip install lightgbm --config-settings=cmake.define.USE_GPU=ON

All requirements from Build from Sources section apply for this installation option as well.

For Windows users, CMake (version 3.8 or higher) is strongly required.

Boost and OpenCL are needed: details for installation can be found in Installation Guide. Almost always you also need to pass OpenCL_INCLUDE_DIR, OpenCL_LIBRARY options for Linux and BOOST_ROOT, BOOST_LIBRARYDIR options for Windows to CMake via pip options, like

pip install lightgbm \
  --config-settings=cmake.define.USE_GPU=ON \
  --config-settings=cmake.define.OpenCL_INCLUDE_DIR="/usr/local/cuda/include/" \
  --config-settings=cmake.define.OpenCL_LIBRARY="/usr/local/cuda/lib64/libOpenCL.so"

All available options that can be passed via cmake.define.{option}.

  • Boost_ROOT

  • Boost_DIR

  • Boost_INCLUDE_DIR

  • BOOST_LIBRARYDIR

  • OpenCL_INCLUDE_DIR

  • OpenCL_LIBRARY

For more details see FindBoost and FindOpenCL.

Build CUDA Version
pip install lightgbm --config-settings=cmake.define.USE_CUDA=ON

All requirements from Build from Sources section apply for this installation option as well, and CMake (version 3.16 or higher) is strongly required.

CUDA library (version 10.0 or higher) is needed: details for installation can be found in Installation Guide.

To use the CUDA version within Python, pass {"device": "cuda"} respectively in parameters.

Build HDFS Version
pip install lightgbm --config-settings=cmake.define.USE_HDFS=ON

All requirements from Build from Sources section apply for this installation option as well.

HDFS library is needed: details for installation can be found in Installation Guide.

Note that the installation process of HDFS version was tested only on Linux.

Build with MinGW-w64 on Windows
# in sh.exe, git bash, or other Unix-like shell
export CMAKE_GENERATOR='MinGW Makefiles'
pip install lightgbm --config-settings=cmake.define.CMAKE_SH=CMAKE_SH-NOTFOUND

CMake and MinGW-w64 should be installed first.

It is recommended to use Visual Studio for its better multithreading efficiency in Windows for many-core systems (see Question 4 and Question 8).

Build 32-bit Version with 32-bit Python
# in sh.exe, git bash, or other Unix-like shell
export CMAKE_GENERATOR='Visual Studio 17 2022'
export CMAKE_GENERATOR_PLATFORM='Win32'
pip install --no-binary lightgbm lightgbm

By default, installation in environment with 32-bit Python is prohibited. However, you can remove this prohibition on your own risk by passing bit32 option.

It is strongly not recommended to use this version of LightGBM!

Build with Time Costs Output
pip install lightgbm --config-settings=cmake.define.USE_TIMETAG=ON

Use this option to make LightGBM output time costs for different internal routines, to investigate and benchmark its performance.

Install from conda-forge channel

If you use conda to manage Python dependencies, you can install LightGBM using conda install.

We strongly recommend installation from the conda-forge channel and not from the default one due to many reasons. The main ones are less time delay for new releases, greater number of supported architectures and better handling of dependency conflicts, especially workaround for OpenMP is crucial for LightGBM. More details can be found in this comment.

Note: The lightgbm conda-forge feedstock is not maintained by LightGBM maintainers.

conda install -c conda-forge lightgbm

Install from GitHub

All requirements from Build from Sources section apply for this installation option as well.

For Windows users, 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 (version 3.8 or higher).

git clone --recursive https://github.com/microsoft/LightGBM.git
# export CXX=g++-7 CC=gcc-7  # macOS users, if you decided to compile with gcc, don't forget to specify compilers (replace "7" with version of gcc installed on your machine)
sh ./build-python.sh install

Note: sudo (or administrator rights in Windows) may be needed to perform the command.

Run sh ./build-python.sh install --nomp to disable OpenMP support. All requirements from Build Threadless Version section apply for this installation option as well.

Run sh ./build-python.sh install --mpi to enable MPI support. All requirements from Build MPI Version section apply for this installation option as well.

Run sh ./build-python.sh install --mingw, if you want to use MinGW-w64 on Windows instead of Visual Studio. All requirements from Build with MinGW-w64 on Windows section apply for this installation option as well.

Run sh ./build-python.sh install --gpu to enable GPU support. All requirements from Build GPU Version section apply for this installation option as well. To pass additional options to CMake use the following syntax: sh ./build-python.sh install --gpu --opencl-include-dir="/usr/local/cuda/include/", see Build GPU Version section for the complete list of them.

Run sh ./build-python.sh install --cuda to enable CUDA support. All requirements from Build CUDA Version section apply for this installation option as well.

Run sh ./build-python.sh install --hdfs to enable HDFS support. All requirements from Build HDFS Version section apply for this installation option as well.

Run sh ./build-python.sh install --bit32, if you want to use 32-bit version. All requirements from Build 32-bit Version with 32-bit Python section apply for this installation option as well.

Run sh ./build-python.sh install --time-costs, if you want to output time costs for different internal routines. All requirements from Build with Time Costs Output section apply for this installation option as well.

If you get any errors during installation or due to any other reasons, you may want to build dynamic library from sources by any method you prefer (see Installation Guide) and then just run sh ./build-python.sh install --precompile.

Build Wheel File

You can use sh ./build-python.sh install bdist_wheel to build a wheel file but not install it.

That script requires some dependencies like build, scikit-build-core, and wheel. In environments with restricted or no internt access, install those tools and then pass --no-isolation.

sh ./build-python.sh bdist_wheel --no-isolation

Build With MSBuild

To use MSBuild (Windows-only), first build lib_lightgbm.dll by running the following from the root of the repo.

MSBuild.exe windows/LightGBM.sln /p:Configuration=DLL /p:Platform=x64 /p:PlatformToolset=v143

Then install the Python package using that library.

sh ./build-python.sh install --precompile

Troubleshooting

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.

Refer to FAQ.

Examples

Refer to the walk through examples in Python guide folder.

Development Guide

The code style of Python-package follows PEP 8.

The package’s documentation strings (docstrings) are written in the numpydoc style.

To check that a contribution to the package matches its style expectations, run the following from the root of the repo.

sh .ci/lint-python.sh

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lightgbm-4.4.0.tar.gz (1.7 MB view details)

Uploaded Source

Built Distributions

lightgbm-4.4.0-py3-none-win_amd64.whl (1.4 MB view details)

Uploaded Python 3Windows x86-64

lightgbm-4.4.0-py3-none-manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

lightgbm-4.4.0-py3-none-manylinux2014_aarch64.whl (3.4 MB view details)

Uploaded Python 3

lightgbm-4.4.0-py3-none-macosx_14_0_arm64.whl (1.6 MB view details)

Uploaded Python 3macOS 14.0+ ARM64

lightgbm-4.4.0-py3-none-macosx_10_15_x86_64.macosx_11_6_x86_64.macosx_12_5_x86_64.whl (2.0 MB view details)

Uploaded Python 3macOS 10.15+ x86-64macOS 11.6+ x86-64macOS 12.5+ x86-64

File details

Details for the file lightgbm-4.4.0.tar.gz.

File metadata

  • Download URL: lightgbm-4.4.0.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for lightgbm-4.4.0.tar.gz
Algorithm Hash digest
SHA256 9e8a7640911481134e60987d5d1e1cd157f430c3b4b38de8d36fc55c302bc299
MD5 08c036aef6573b4a64de773a8d487e7f
BLAKE2b-256 8ac3bc2553d9f658fa83f8489a0a61cb020610c0c1c456a988d565c91d431969

See more details on using hashes here.

File details

Details for the file lightgbm-4.4.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: lightgbm-4.4.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for lightgbm-4.4.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 460dd78586dccfc0ed756571690fcfcd3d61770ed7972746c655c3b11cce8a93
MD5 407340424490fb5e0683971abf780883
BLAKE2b-256 cab457f3f253721e0a16ea28c49acca92c5b1198eb94fbbb8328d6dabc61d2e0

See more details on using hashes here.

File details

Details for the file lightgbm-4.4.0-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lightgbm-4.4.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8700b41f637717d36763a282d280b8d4722a87103030b7f0f373b96da0225022
MD5 a839b30155be7d349e3db1e14b92d1aa
BLAKE2b-256 f23d4f152cf694aec100ab63b4a5547f2dbfbea59ab39d9375c89bed9775e47d

See more details on using hashes here.

File details

Details for the file lightgbm-4.4.0-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for lightgbm-4.4.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a04875e4c0ffda7c67a0ab5bd8892f154a491833f4f5b39c4acf5b3add099699
MD5 af5ee895a8f45df17b330fc6b43e99a1
BLAKE2b-256 0d1bd19f400a3e7149f8d96146028cf87c1e3e09c17d661416c9f0db20cab0be

See more details on using hashes here.

File details

Details for the file lightgbm-4.4.0-py3-none-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lightgbm-4.4.0-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d96b06c85f0840da95bbbf31a095b207186bb0e584cee0fe2f2e7f24fb07c70f
MD5 ffbc8a7b3883c3b1fb5eb2fe0a4724a5
BLAKE2b-256 4c3581076f4c9b0484d07735aa1ec343e5c2a6d8d59c72a142f0b89fa00258a0

See more details on using hashes here.

File details

Details for the file lightgbm-4.4.0-py3-none-macosx_10_15_x86_64.macosx_11_6_x86_64.macosx_12_5_x86_64.whl.

File metadata

File hashes

Hashes for lightgbm-4.4.0-py3-none-macosx_10_15_x86_64.macosx_11_6_x86_64.macosx_12_5_x86_64.whl
Algorithm Hash digest
SHA256 f51f17a10ef9b4669b9c95a2297213b57debbc9deadfe5c1489a7f3c9e2617c5
MD5 906f02530d16b30b736ad5dbc4e3474c
BLAKE2b-256 524d4ad92356bb0abe166c14fafb4c865f465710fa64774d668a9fb85a7c2ed3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page