Installation

Anaconda

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

conda install -c conda-forge scanpy 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 [^cite_csardi06] and leiden [^cite_traag18].

Development Version

To work with the latest version on GitHub: clone the repository and cd into its root directory.

gh repo clone scverse/scanpy
cd scanpy

If you are using pip>=21.3, an editable install can be made:

pip install -e '.[dev,doc,test]'

For older versions of pip, flit can be used directly. 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.

For instructions on how to work with the code, see the contributing guide.

Docker

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

Troubleshooting

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

cd DOWNLOAD_DIR
chmod +x Miniconda3-latest-VERSION.sh
./Miniconda3-latest-VERSION.sh

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.