Installation#
Quick install#
scvi-tools can be installed via conda
or pip
. We recommend installing into a virtual
environment to avoid conflicts with other packages.
conda install scvi-tools -c conda-forge
or
pip install -U scvi-tools
Don’t know how to get started with virtual environments or conda
/pip
? Check out the
prerequisites section.
Prerequisites#
Virtual environment#
A virtual environment can be created with either conda
or venv
. We recommend using conda
. We
currently support Python 3.10 - 3.12.
For conda
, we recommend using the Miniforge
distribution, which is generally faster than the official distribution and comes with conda-forge
as the default channel (where scvi-tools is hosted).
conda create -n scvi-env python=3.12 # any python 3.10 to 3.12
conda activate scvi-env
For venv
, we recommend using uv.
pip install -U uv
uv venv .scvi-env
source .scvi-env/bin/activate # for macOS and Linux
.scvi-env\Scripts\activate # for Windows
PyTorch and JAX#
scvi-tools depends on PyTorch and JAX for accelerated computing. If you don’t plan on using an accelerated device, we recommend installing scvi-tools directly and letting these dependencies be installed automatically by your package manager of choice.
If you plan on taking advantage of an accelerated device (e.g. Nvidia GPU or Apple Silicon), we recommend installing PyTorch and JAX before installing scvi-tools. Please follow the respective installation instructions for PyTorch and JAX compatible with your system and device type.
Optional dependencies#
scvi-tools has optional dependencies. The easiest way to install these is with pip
.
To install all tutorial dependencies:
pip install -U scvi-tools[tutorials]
To install all optional dependencies (e.g. autotune, criticism, model hub):
pip install -U scvi-tools[optional]
To install development dependencies, including pre-commit
and testing dependencies:
pip install -U scvi-tools[dev]
Docker#
If you plan on running scvi-tools in a containerized environment, we provide various Docker images hosted on GHCR.
R#
scvi-tools can be called from R via Reticulate.
This is only recommended for basic functionality (getting the latent space, normalized expression, differential expression). For more involved analyses with scvi-tools, we highly recommend using it from Python.
The easiest way to install scvi-tools for R is via conda.
Install conda prerequisites.
Install R and reticulate in the conda environment:
conda install -c conda-forge r-base r-essentials r-reticulate
Then in your R code:
library(reticulate)