Installation prerequisites

Kedro supports macOS, Linux and Windows (7 / 8 / 10 and Windows Server 2016+). If you encounter any problems on these platforms, please check the FAQ, and / or the Kedro community support on Stack Overflow.

macOS / Linux

In order to work effectively with Kedro projects, we highly recommend you download and install Anaconda (Python 3.x version) and Java (if using PySpark).

Build tools

On Unix-like operating systems, you will need to install a C compiler and related build tools for your platform. This is due to the inclusion of the memory-profiler library in our dependencies. If your operating system is not mentioned, please refer to its documentation.


To install Command Line Tools for Xcode, run the following from the terminal:

xcode-select --install



The following command (run with root permissions) will install the build-essential metapackage for Debian-based distributions:

apt-get update && apt-get install build-essential

Red Hat Enterprise Linux / Centos

The following command (run with root permissions) will install the “Develop Tools” group of packages on RHEL/Centos:

yum groupinstall 'Development Tools'


You will require admin rights to complete the installation of the following tools on your machine:

Python virtual environments

Python’s virtual environments can be used to isolate the dependencies of different individual projects, avoiding Python version conflicts. They also prevent permission issues for non-administrator users. For more information, please refer to this guide.

Using conda

We recommend creating your virtual environment using conda, a package and environment manager program bundled with Anaconda.

Create an environment with conda

Use conda create to create a python 3.6 environment called environment_name by running:

conda create --name environment_name python=3.6

Activate an environment with conda

Use conda activate to activate an environment called environment_name by running:

conda activate environment_name

When you want to deactivate the environment you are using with Kedro, you can use conda deactivate:

conda deactivate

Other conda commands

To list all existing conda environments:

conda env list

To delete an environment:

conda remove --name environment_name --all

Alternatives to conda

If you prefer an alternative environment manager such as venv, pyenv, etc, please read their respective documentation.