If you do not have a working installation of Python 3.6 (or later), consider installing Miniconda (see Installing Miniconda). Then run:

conda install seaborn scikit-learn statsmodels numba pytables
conda install -c conda-forge python-igraph leidenalg

Pull Scanpy from PyPI (consider using pip3 to access Python 3):

pip install scanpy

PyPI only

If you prefer to exclusively use PyPI run:

pip install 'scanpy[leiden]'

The extra [leiden] installs two packages that are needed for popular parts of scanpy but aren’t requirements: python-igraph [Csardi06] and leiden [Traag18].

Development Version

To work with the latest version on GitHub: clone the repository and cd into its root directory. To install using symbolic links (stay up to date with your cloned version after you update with git pull) call:

flit install -s --deps=develop  # from an activated venv or conda env
# or
flit install -s --deps=develop --python path/to/venv/bin/python

If you want to let conda handle the installations of dependencies, do:

pip install beni
beni pyproject.toml > environment.yml
conda env create -f environment.yml
conda activate scanpy
flit install -s --deps=develop

On Windows, you might have to use flit install --pth-file if you are not able to give yourself the create symbolic links privilege.


pip install -e still works, but may not in future versions.


If you’re using Docker, you can use e.g. the image gcfntnu/scanpy from Docker Hub.


If you get a Permission denied error, never use sudo pip. Instead, use virtual environments or:

pip install --user scanpy

On MacOS, if not using conda, you might need to install the C core of igraph via homebrew first

  • brew install igraph

  • If python-igraph still fails to install, see the question on compiling igraph. Alternatively consider installing gcc via brew install gcc --without-multilib and exporting the required variables:

    export CC="/usr/local/Cellar/gcc/X.x.x/bin/gcc-X"
    export CXX="/usr/local/Cellar/gcc/X.x.x/bin/gcc-X"

    where X and x refers to the version of gcc; in my case, the path reads /usr/local/Cellar/gcc/6.3.0_1/bin/gcc-6.

On Windows, there also often problems installing compiled packages such as igraph, but you can find precompiled packages on Christoph Gohlke’s unofficial binaries. Download those and install them using pip install ./path/to/file.whl

Installing Miniconda

After downloading Miniconda, in a unix shell (Linux, Mac), run

chmod +x

and accept all suggestions. Either reopen a new terminal or source ~/.bashrc on Linux/ source ~/.bash_profile on Mac. The whole process takes just a couple of minutes.