Skip to main content

LightGBM Python Package

Project description

License Python Versions PyPI Version PyPI Downloads conda 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.

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.

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

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.

  • 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.

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.

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.

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.

CUDA library 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 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

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

lightgbm conda packages are available from the conda-forge channel.

conda install -c conda-forge lightgbm

These are precompiled packages that are fast to install. Use them instead of pip install if any of the following are true:

  • you prefer to use conda to manage software environments

  • you want to use GPU-accelerated LightGBM

  • you are using a platform that lightgbm does not provide wheels for (like PowerPC)

For lightgbm>=4.4.0, if you are on a system where CUDA is installed, conda install will automatically select a CUDA-enabled build of lightgbm.

conda install -c conda-forge 'lightgbm>=4.4.0'

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.

git clone --recursive https://github.com/microsoft/LightGBM.git
# export CXX=g++-14 CC=gcc-14  # macOS users, if you decided to compile with gcc, don't forget to specify compilers
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 --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 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 internet 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

Refer to FAQ.

Examples

Refer to the walk through examples in Python guide folder.

Development Guide

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

bash .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.5.0.tar.gz (1.7 MB view details)

Uploaded Source

Built Distributions

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

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 manylinux: glibc 2.28+ x86-64

lightgbm-4.5.0-py3-none-macosx_12_0_arm64.whl (1.6 MB view details)

Uploaded Python 3 macOS 12.0+ ARM64

lightgbm-4.5.0-py3-none-macosx_10_15_x86_64.whl (1.9 MB view details)

Uploaded Python 3 macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: lightgbm-4.5.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.5.0.tar.gz
Algorithm Hash digest
SHA256 e1cd7baf0318d4e308a26575a63a4635f08df866ad3622a9d8e3d71d9637a1ba
MD5 60a5d8fd5a27b2f68f00718e6cff5861
BLAKE2b-256 4de641be1f8642257e21b4170e798c9a84e4268656ebfa3019586d82bfd281c9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lightgbm-4.5.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.5.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7ccb73ee9fb74fbbf89ad24c57a6edad505aa8f2165d02b999a082dbbbb0ee57
MD5 fd8fb20130edebca6e50db72c17a3da0
BLAKE2b-256 d9283be76b591a2e14a031b681b8283acf1dec2ad521f6f1701b7957df68c466

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightgbm-4.5.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 960a0e7c077de0ca3053f1325d3edfc92ea815acf5176adcacdea0f635aeef9b
MD5 52ef2593451661560ed2f1b2d2c03dd5
BLAKE2b-256 4e191b928cad70a4e1a3e2c37d5417ca2182510f2451eaadb6c91cd9ec692cae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lightgbm-4.5.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7f0a3dded769d83560845f2c3fe1966630ec1ca527c380d9d48d9b35579a796e
MD5 e68fba88fc875655a05c363eb011aba7
BLAKE2b-256 846a10c4921526600559530d49d70553d1bc1bd84c616808c629a620a6160305

See more details on using hashes here.

File details

Details for the file lightgbm-4.5.0-py3-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for lightgbm-4.5.0-py3-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 1301aa853e1fe4bf318539aa132f373862b04aa537af502508711ce03dffff09
MD5 f13247ec9781f49bd87e4d66ecde5b2d
BLAKE2b-256 113f49913ed111286e23bcc40daab54542d80924264dca8ae371514039ab83ab

See more details on using hashes here.

File details

Details for the file lightgbm-4.5.0-py3-none-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for lightgbm-4.5.0-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2212e2166af6379bc005e6f7041dd2dcba3750238eccbc55d09d3c0717c51187
MD5 afebbe0484ba4d0a95c19982235acdbd
BLAKE2b-256 1bd246520b6e255298e920df26ff6e5e4fc788c927886e1e30a96b27c2f94924

See more details on using hashes here.

Supported by

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