---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://catboost.ai/docs/en/concepts/python-installation.md
  - href: en/concepts/python-installation.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://catboost.ai/docs/en/llms.txt

# Python package installation

<!-- source: en/_includes/work_src/reusage-installation/python__supported-versions.md -->
{% note info %}

CatBoost Python package supports only [CPython Python implementation](https://en.wikipedia.org/wiki/CPython).

{% endnote %}
<!-- endsource: en/_includes/work_src/reusage-installation/python__supported-versions.md -->

{% note alert %}

Installation is only supported by the 64-bit version of Python.

{% endnote %}


Dependencies:
- `graphviz` (if you want to use [`plot_tree` function](https://catboost.ai/docs/en/concepts/python-reference_catboost_plot_tree.md))
- `matplotlib`
- `numpy (>=1.16.0)`
- `pandas (>=0.24)`
- `plotly`
- `scipy`
- `six`

{% note info %}

Note that in most cases dependencies will be installed automatically using mechanisms built into `setuptools`, `pip` or `conda`.

{% endnote %}

To install the Python package:
1. Choose an installation method:
    - [pip install](https://catboost.ai/docs/en/installation/python-installation-method-pip-install.md)
    - [conda install](https://catboost.ai/docs/en/installation/python-installation-method-conda-install.md)
    - [Build from source](https://catboost.ai/docs/en/installation/python-installation-method-build-from-source.md)
    - [Build a wheel package](https://catboost.ai/docs/en/installation/python-installation-method-build-a-wheel-package.md)

1. <!-- source: en/_includes/work_src/reusage-installation/install-data-visualization-support-package.md -->
   (Optionally) Install [additional packages](https://catboost.ai/docs/en/installation/python-installation-additional-data-visualization-packages.md) for [data visualization](https://catboost.ai/docs/en/features/visualization.md) support.
   <!-- endsource: en/_includes/work_src/reusage-installation/install-data-visualization-support-package.md -->

1. (Optionally) Additional setup if user-defined functions are used:

    <!-- source: en/_includes/work_src/reusage-installation/python__user-defined-functions-dependencies.md -->
    If you want to use [custom metrics or objectives implemented in your own python code](https://catboost.ai/docs/en/features/custom-loss-functions.md) you should install [`numba`](https://numba.pydata.org/) package to speed up the code execution using JIT compilation.

    If you want to use custom metrics or objectives on GPUs with CUDA support you must install [`numba`](https://numba.pydata.org/) package for JIT compilation of CUDA code.
    Installation of [`numba-cuda`](https://github.com/NVIDIA/numba-cuda) package is also encouraged.
    CUDA itself (not only drivers) must be installed on machines where this code is executed.
    See [`numba` CUDA support documentation](https://numba.readthedocs.io/en/stable/cuda/overview.html) for more details.

    These packages are not listed in package requirements that are installed automatically because they are not needed for other functionality.
    <!-- endsource: en/_includes/work_src/reusage-installation/python__user-defined-functions-dependencies.md -->

1. (Optionally) [Test CatBoost](https://catboost.ai/docs/en/installation/python-installation-test-catboost.md).

Note that there are additional [system requirements](#gpu-system-requirements) if training on GPU is required.


## GPU system requirements {#gpu-system-requirements}

The versions of CatBoost for Linux and Windows available from [pip install](https://catboost.ai/docs/en/installation/python-installation-method-pip-install.md) and [conda install](https://catboost.ai/docs/en/installation/python-installation-method-conda-install.md) have CUDA-enabled GPU support out-of-the-box.

<!-- source: en/_includes/work_src/reusage-code-examples/compute-capability-requirements.md -->
As of CatBoost 1.2.10, devices with CUDA compute capability >= 3.5 are supported in released packages.

All necessary CUDA libraries are statically linked in the released Linux and Windows binaries, the only installation necessary is the appropriate version of the CUDA driver.
<!-- endsource: en/_includes/work_src/reusage-code-examples/compute-capability-requirements.md -->

<!-- source: en/_includes/work_src/reusage-code-examples/nvidia-driver-reqs.md -->
Training or inference on CUDA-enabled GPUs requires NVIDIA Driver of version 450.80.02 or higher.
<!-- endsource: en/_includes/work_src/reusage-code-examples/nvidia-driver-reqs.md -->
