We strongly recommend to start from
mambaforge, a community project of the conda-forge community.
mambaforgecomes with the popular
conda-forgechannel preconfigured, but you can modify the configuration to use any channel you like.
If you are already a
conda user, very good!
mamba, just install it into the base environment from the
conda install mamba -n base -c conda-forge
Installing mamba into any other environment than base can cause unexpected behavior
micromamba is a tiny version of the
mamba package manager.
It is a pure C++ package with a separate command line interface.
It is very tiny, does not need a
base environment and does not come with a default version of Python.
It is completely statically linked, which allows you to drop it in some place and just execute it.
It can be used to bootstrap environments (as an alternative to miniconda).
micromamba is currently experimental and it’s advised to use it in containers & CI only.
On macOS, you can install micromamba from Homebrew:
brew install --cask micromamba
If you are using macOS or Linux, there is a simple way of installing
Simply execute the installation script in your preferred shell.
For Linux, the default shell is
curl micro.mamba.pm/install.sh | bash
For macOS, the default shell is
curl micro.mamba.pm/install.sh | zsh
Linux and macOS#
Download and unzip the executable (from the official conda-forge package):
Ensure that basic utilities are installed. We need
tar with support for
Also you need a glibc based system like Ubuntu, Fedora or Centos (Alpine Linux does not work natively).
The following magic URL always returns the latest available version of micromamba, and the
bin/micromamba part is automatically extracted using
# Linux Intel (x86_64): curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba # Linux ARM64: curl -Ls https://micro.mamba.pm/api/micromamba/linux-aarch64/latest | tar -xvj bin/micromamba # Linux Power: curl -Ls https://micro.mamba.pm/api/micromamba/linux-ppc64le/latest | tar -xvj bin/micromamba # macOS Intel (x86_64): curl -Ls https://micro.mamba.pm/api/micromamba/osx-64/latest | tar -xvj bin/micromamba # macOS Silicon/M1 (ARM64): curl -Ls https://micro.mamba.pm/api/micromamba/osx-arm64/latest | tar -xvj bin/micromamba
After extraction is completed, we can use the micromamba binary.
If you want to quickly use micromamba in an ad-hoc usecase, you can run
export MAMBA_ROOT_PREFIX=/some/prefix # optional, defaults to ~/micromamba eval "$(./bin/micromamba shell hook -s posix)"
This shell hook modifies your shell variables to include the micromamba command.
If you want to persist these changes, you can automatically write them to your
.zshrc) by running
./micromamba shell init ....
This also allows you to choose a custom MAMBA_ROOT_ENVIRONMENT, which is where the packages and repodata cache will live.
# Linux/bash: ./bin/micromamba shell init -s bash -p ~/micromamba # this writes to your .bashrc file # sourcing the bashrc file incorporates the changes into the running session. # better yet, restart your terminal! source ~/.bashrc # macOS/zsh: ./micromamba shell init -s zsh -p ~/micromamba source ~/.zshrc
Now you can activate the base environment and install new packages, or create other environments.
micromamba activate # this activates the base environment micromamba install python=3.6 jupyter -c conda-forge # or micromamba create -n env_name xtensor -c conda-forge micromamba activate env_name
micromambaalso has Windows support! For Windows, we recommend powershell.
Invoke-Webrequest -URI https://micro.mamba.pm/api/micromamba/win-64/latest -OutFile micromamba.tar.bz2 C:\PROGRA~1\7-Zip\7z.exe x micromamba.tar.bz2 -aoa C:\PROGRA~1\7-Zip\7z.exe x micromamba.tar -ttar -aoa -r Library\bin\micromamba.exe MOVE -Force Library\bin\micromamba.exe micromamba.exe .\micromamba.exe --help # You can use e.g. $HOME\micromambaenv as your base prefix $Env:MAMBA_ROOT_PREFIX="C:\Your\Root\Prefix" # Invoke the hook .\micromamba.exe shell hook -s powershell | Out-String | Invoke-Expression # ... or initialize the shell .\micromamba.exe shell init -s powershell -p C:\Your\Root\Prefix # and use micromamba directly micromamba create -f ./test/env_win.yaml -y micromamba activate yourenv
You can download fully statically linked builds for each commit to master on GitHub (scroll to the bottom of the “Summary” page): https://github.com/mamba-org/mamba/actions/workflows/static_build.yml?query=is%3Asuccess
For now, only
micromamba provides shell completion on
To activate it, it’s as simple as running:
micromamba shell completion
The completion is now available in any new shell opened or in the current shell after sourcing the configuration file to take modifications into account.
<TAB><TAB>to get completion when typing your command.
micromamba activate <TAB><TAB>
We should soon figure out an automated process to use the latest version of micromamba. We can use the anaconda api: https://api.anaconda.org/release/conda-forge/micromamba/latest to find all the latest packages, we just need to select the one for the right platform.