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: igraph [Csardi06] and leiden [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 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.