This repository holds a minimal installer for Conda specific to conda-forge. Miniforge allows you to install the conda package manager with the following features pre-configured:
- conda-forge set as the default (and only) channel.
- Packages in the base environment are obtained from the conda-forge channel.
- Optional support for PyPy in place of standard Python interpretter (aka "CPython").
- Optional support for Mamba in place of Conda.
- An emphasis on supporting various CPU architectures (x86_64, ppc64le, and aarch64 including Apple M1).
It can be compared to the Miniconda installer.
Miniforge installers are available here: https://github.com/conda-forge/miniforge/releases
Latest installers with Python 3.9 (*)
in the base environment:
OS | Architecture | Download |
---|---|---|
Linux | x86_64 (amd64) | Miniforge3-Linux-x86_64 |
Linux | aarch64 (arm64) (**) |
Miniforge3-Linux-aarch64 |
Linux | ppc64le (POWER8/9) | Miniforge3-Linux-ppc64le |
OS X | x86_64 | Miniforge3-MacOSX-x86_64 |
OS X | arm64 (Apple Silicon) (***) |
Miniforge3-MacOSX-arm64 |
Windows | x86_64 | Miniforge3-Windows-x86_64 |
(*)
The Python version is specific only to the base environment. Conda can create new environments with different Python versions and implementations.
(**)
While the Raspberry PI includes a 64 bit processor, the
RasbianOS is built
on a 32 bit kernel and is not a supported configuration for these installers.
We recommend using a 64 bit linux distribution such as Ubuntu for Raspberry
PI.
(***)
Apple silicon builds are experimental and haven't had testing like the other platforms.
Latest installers with PyPy 3.7 in the base environment:
OS | Architecture | Download |
---|---|---|
Linux | x86_64 (amd64) | Miniforge-pypy3-Linux-x86_64 |
Linux | aarch64 (arm64) | Miniforge-pypy3-Linux-aarch64 |
Linux | ppc64le (POWER8/9) | Miniforge-pypy3-Linux-ppc64le |
OS X | x86_64 | Miniforge-pypy3-MacOSX-x86_64 |
Latest installers with Mamba in the base environment:
OS | Architecture | Download |
---|---|---|
Linux | x86_64 (amd64) | Mambaforge-Linux-x86_64 |
Linux | aarch64 (arm64) | Mambaforge-Linux-aarch64 |
Linux | ppc64le (POWER8/9) | Mambaforge-Linux-ppc64le |
OS X | x86_64 | Mambaforge-MacOSX-x86_64 |
OS X | arm64 (Apple Silicon) | Mambaforge-MacOSX-arm64 |
Windows | x86_64 | Mambaforge-Windows-x86_64 |
Latest installers with Mamba and PyPy 3.7 in the base environment:
OS | Architecture | Download |
---|---|---|
Linux | x86_64 (amd64) | Mambaforge-pypy3-Linux-x86_64 |
Linux | aarch64 (arm64) | Mambaforge-pypy3-Linux-aarch64 |
Linux | ppc64le (POWER8/9) | Mambaforge-pypy3-Linux-ppc64le |
OS X | x86_64 | Mambaforge-pypy3-MacOSX-x86_64 |
Download the installer using curl or wget or your favorite program download files and run the script. For eg:
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh"
bash Mambaforge-$(uname)-$(uname -m).sh
or
wget "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh"
bash Mambaforge-$(uname)-$(uname -m).sh
Uninstalling Miniforge means removing the files that were created during the installation process. You will typically want to remove:
- Any modifications to your shell rc files that were made by Miniforge:
# Use this first command to see what rc files will be updated
conda init --reverse --dry-run
# Use this next command to take action on the rc files listed above
conda init --reverse
- Remove the folder and all subfolders where the base environment for Miniforge was installed:
CONDA_BASE_ENVIRONMENT=$(conda info --base)
echo The next command will delete all files in ${CONDA_BASE_ENVIRONMENT}
# Warning, the rm command below is irreversible!
# check the output of the echo command above
# To make sure you are deleting the correct directory
rm -rf ${CONDA_BASE_ENVIRONMENT}
- Any global conda configuration files that are left behind.
echo ${HOME}/.condarc will be removed if it exists
rm -f "${HOME}/.condarc"
Download the installer and double click it on the file browser.
For non-interactive usage, look at the options by running the following:
bash Miniforge3-Linux-x86_64.sh -h # or similar for other installers for unix platforms
or if you are on windows, run:
start /wait "" build/Miniforge3-Windows-x86_64.exe /InstallationType=JustMe /RegisterPython=0 /S /D=%UserProfile%\Miniforge3
If you wish to download the appropriate installer through the command line in a more automated fashion, you may wish to a command similar to
For Linux, any architecture, use the following command
wget -O Miniforge3.sh "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
For MacOSX, any architecture, use the following command
curl -fsSLo Miniforge3.sh "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-$(uname -m).sh"
This will download the appropriate installer for the present architecture with
the filename Miniforge3.sh
. Run the shell script with the command in batch
mode with the -b
flash:
bash Miniforge3.sh -b
On macOS, you can install miniforge with Homebrew by running
brew install miniforge
- Automatic build of constructor.
- Automatic upload of constructor results.
- Automatic testing of constructor.
- Integration with conda-forge's developer documentation.
- Integration with conda-forge's official site.
- Upstream to Anaconda ?
After construction on the CI, the installer is tested against a range of distribution that match the installer architecture ($ARCH
). For example when architecture is aarch64
, the constructed installer is tested against:
- Centos 7
- Debian Buster (10)
- Debian Bullseye (11)
- Ubuntu 16.04 (LTS)
- Ubuntu 18.04 (LTS)
- Ubuntu 20.04 (LTS)
- Ubuntu 21.10 (Latest non-LTS version)
Installers are built and uploaded via the CI but if you want to construct your own Miniforge installer, here is how:
# Configuration
export ARCH=aarch64
export DOCKERIMAGE=condaforge/linux-anvil-aarch64
bash build_miniforge.sh
To release a new version of Miniforge:
- Make a new pre-release on GitHub with name
$CONDA_VERSION-$BUILD_NUMBER
- Wait until all artifacts are uploaded by CI
- For each build, we upload 3 artifacts
- One installer with the version name
- One installer without the version name
- The SHA256
- At the time of writing, the is a sum of 60 artifacts, and with the two sources, we expect a grand total of 62 artifacts.
- For each build, we upload 3 artifacts
- Mark the pre-release as a release
NOTE: using a pre-release is important to make sure the latest links work.
Relevant conversations: