Skip to main content
HomeCheat sheetsData Science

Conda Cheat Sheet

In this cheat sheet, learn all about the basics of working with Conda. From managing and installing packages, to working with channels & environments, learn the fundamentals of the conda package management tool suite.
Apr 2023

Conda Cheat Sheet (1).png

Have this cheat sheet at your fingertips

Download PDF

Definitions

  • Conda is an application for data science package management and environment management. It is primarily used for managing Python packages, though it also supports R, Ruby, Lua, Scala, Java, JavaScript, C,  C++, and Fortran packages.
  • A package is a pre-built software package, including code, libraries needed to run the code, and metadata. Conda packages are .conda files or .tar.bz2 files. Popular packages include pandas, seaborn, and r-dplyr.
  • A channel is a location that hosts packages. Popular channels include conda-forge, bioconda, and intel.
  • An environment is a directory containing installed packages. Having multiple environments lets you use different versions of packages for different projects.
  • Anaconda is a meta-package that allows you to install hundreds of data science packages with a single conda command.
  • Mamba is an open source reimplementation of Conda with the same syntax and some performance improvements. The majority of the code in this cheat sheet will also work with Mamba.

Conda vs pip

feature

pip

Conda

Package management

Environment management

Language support

Python only

Many data languages

Installation

Included with Python

Separate install

License

MIT

BSD

Getting help

# Display Conda version with conda --version
conda --version 

# Display Conda system info with conda info
conda info


# Get help on Conda with conda --help
docker --help

# Get help on Conda command usage with conda {command} --help
docker build --help

Listing packages

# List all installed packages with conda list
conda list

# List all installed packages matching a regular expression with conda list {regex}
conda list ^z # lists packages with names starting with z

# List all versions of all packages in all conda channels with conda search
conda search

# List all versions of a package (all channels) with conda search {pkg}
conda search scikit-learn

# List specific versions for a package (all channels) with conda search '{pkg}{version}'
conda search 'scikit-learn>=1'

# List package versions in a specific conda channel with conda search {channel}::{pkg}
conda search conda-forge::scikit-learn

Installing & managing packages

# Install packages with conda install {pkg1} {pkg2} ...
conda install numpy pandas 

# Install specific version of package with conda install {pkg}={version}
conda install scipy=1.10.1

# Update all packages with conda update --all
conda update --all

# Uninstall packages with conda uninstall {pkg}
conda uninstall pycaret

Working with channels

# List channels with conda config --show channels
conda config --show channels

# Add a channel (highest priority) with conda config --prepend channels {channel}
conda config --prepend channels conda-forge

# Add a channel (lowest priority) with conda config --append channels {channel}
conda config --append channels bioconda

Working with environments

# List environments with conda env list
conda env list

# Add --name {envname} to other commands to restrict their use to that environment
conda list --name base
conda install scikit-learn --name myenv 

Managing environments

# Create an environment for technology with conda create -n {env}
conda create --name my_python_env

# Clone an existing environment with conda create --clone {old_env} --name {new_env}
conda create --clone template_env --name project_env

# Create an environment auto-accepting prompts with conda create --yes --name {env}
# For non-interactive usage
conda create --yes --name my_env

# Make environment the default environment with conda activate {env}
# This prepends the environment directory to the system PATH environment variable
conda activate my_env

# Make the base environment the default with conda deactivate {env}
# This removes the environment directory from the system PATH environment variable
conda deactivate my_env

Sharing environments

# Export active environment to a YAML file with conda env export > environment.yml
# Export every package including dependencies (maximum reproducibility)
conda env export > environment.yml
# Export only packages explicitly asked for (increased portability)
conda env export --from-history > environment.yml

# Import environment from YAML file with conda env create --name {env} --file {yaml_file}
conda env create --name my_env2 --file environment.yml

# Export list of packages to TEXT file with conda list --export > requirements.txt
# Usually requires manual editing; you can also use pip freeze
conda list --export > requirements.txt

# Import environment from TEXT file with conda create --name {env} --file {yaml_file}
conda create --name my_env --file  requirements.txt
Topics
Related

A Data Science Roadmap for 2024

Do you want to start or grow in the field of data science? This data science roadmap helps you understand and get started in the data science landscape.
Mark Graus's photo

Mark Graus

10 min

Python NaN: 4 Ways to Check for Missing Values in Python

Explore 4 ways to detect NaN values in Python, using NumPy and Pandas. Learn key differences between NaN and None to clean and analyze data efficiently.
Adel Nehme's photo

Adel Nehme

5 min

Seaborn Heatmaps: A Guide to Data Visualization

Learn how to create eye-catching Seaborn heatmaps
Joleen Bothma's photo

Joleen Bothma

9 min

Test-Driven Development in Python: A Beginner's Guide

Dive into test-driven development (TDD) with our comprehensive Python tutorial. Learn how to write robust tests before coding with practical examples.
Amina Edmunds's photo

Amina Edmunds

7 min

Exponents in Python: A Comprehensive Guide for Beginners

Master exponents in Python using various methods, from built-in functions to powerful libraries like NumPy, and leverage them in real-world scenarios to gain a deeper understanding.
Satyam Tripathi's photo

Satyam Tripathi

9 min

Python Linked Lists: Tutorial With Examples

Learn everything you need to know about linked lists: when to use them, their types, and implementation in Python.
Natassha Selvaraj's photo

Natassha Selvaraj

9 min

See MoreSee More