Skip to content

Installation

Before installing marimo, we recommend creating and activating a Python virtual environment.

Setting up a virtual environment

Python uses virtual environments to minimize conflicts among packages. Here's a quickstart for pip users. If you use conda, please use a conda environment instead.

Run the following in the terminal:

  • create an environment with python -m venv marimo-env
  • activate the environment:
  • macOS/Unix: source marimo-env/bin/activate
  • Windows: marimo-env\Scripts\activate

Make sure the environment is activated before installing marimo and when using marimo. Install other packages you may need, such as numpy, pandas, matplotlib, and altair, in this environment. When you're done, deactivate the environment with deactivate in the terminal.

Learn more from the official Python tutorial.

Using uv?

uv is a next-generation Python package installer and manager that is 10-100x faster than pip, and also makes it easy to install Python and manage projects. With uv, creating a virtual environment is as easy as uv venv.

Install with minimal dependencies

To install marimo, run the following in a terminal:

pip install marimo
uv pip install marimo
conda install -c conda-forge marimo

To check if the install worked, run

marimo tutorial intro

A tutorial notebook should open in your browser.

Installation issues?

Having installation issues? Reach out to us at GitHub or on Discord.

marimo is lightweight, with few dependencies, to maximize compatibility with your own environments.

To unlock additional features in the marimo editor, including SQL cells, AI completion, server-side plotting of dataframe columns, and more, we suggest installing marimo[recommended]:

pip install marimo[recommended]
uv pip install marimo[recommended]
conda install -c conda-forge marimo "duckdb>=1.0.0" "altair>=5.4.0" pyarrow "polars>=1.9.0" "sqlglot>=23.4" "openai>=1.55.3" "ruff" "nbformat>=5.7.0" "vegafusion>=2.0.0" "vl-convert-python>=1.0.0"

Installing marimo in this way installs the following additional dependencies and unlocks the following features:

Dependency Feature
duckdb>=1.0.0 SQL cells
altair>=5.4.0 Plotting in datasource viewer
polars[pyarrow]>=1.9.0 SQL output back in Python
sqlglot>=23.4 SQL cells parsing
openai>=1.55.3 AI features
ruff Formatting
nbformat>=5.7.0 Export as IPYNB
vegafusion>=2.0.0 Performant charting
vl-convert-python>=1.0.0 Required by vegafusion