Skip to content

Conda

Conda is a cross-platform, language-agnostic package and environment manager, most commonly used with Python, that installs binary packages and creates isolated, reproducible environments.

Installation and Setup

Install Miniconda, Anaconda Distribution, or Miniforge using the official installers, then initialize your shell and verify the CLI:

Language: Windows PowerShell
PS> conda --version
PS> conda init powershell
PS> # Close and reopen the shell after init
PS> conda config --set auto_activate_base false
Language: Shell
$ conda --version
$ conda init bash
$ # Restart the shell after init
$ conda config --set auto_activate_base false

Miniforge is maintained by the conda-forge community and comes preconfigured for the conda-forge channel, while Miniconda and Anaconda Distribution default to the Anaconda Repository. Packages from that repository fall under the Anaconda Terms of Service, which can require a paid commercial license, though individuals, universities, and smaller companies are exempt.

A typical user wide configuration lives at ~/.condarc.

Key Features

  • Creates isolated environments with pinned versions and reproducible installs from YAML files.
  • Installs prebuilt binary packages for Python, R, and system-level libraries on all major platforms.
  • Works with multiple channels and supports strict channel priority for reliable resolution.
  • Coexists with pip so you can install packages from PyPI inside a Conda environment when needed.
  • Provides clear environment management commands and caching to speed up repeated operations.

Usage

Create and activate an environment:

Language: Shell
$ conda create -n venv python=3.14
$ conda activate venv

Install packages from the default channel or from conda-forge:

Language: Shell
$ conda install numpy pandas
$ conda install -c conda-forge scipy

Search for available builds and versions:

Language: Shell
$ conda search pandas

List, update, and remove:

Language: Shell
$ conda env list
$ conda update --all
$ conda remove -n venv --all

Configure channels and priority:

Language: Shell
$ conda config --add channels conda-forge
$ conda config --set channel_priority strict

Export and recreate environments for repeatability:

Language: Shell
$ conda env export --from-history > environment.yml
$ conda env create -f environment.yml

Newer conda releases add a top-level conda export command that supports multiple export formats through a plugin-based architecture. The official docs describe it as the modern approach to environment export, while conda env export remains fully supported.

Python Virtual Environments (venv)

Tutorial

Python Virtual Environments: A Primer

Create isolated project setups on all platforms, and gain a deep understanding of Python's virtual environments created with the venv module.

intermediate devops tools

For additional information on related topics, take a look at the following resources:


By Leodanis Pozo Ramos • Updated Sept. 10, 2026