Conda is a cross-platform, language-agnostic binary package manager. It is a
package manager used in conda distributions like Miniforge
and the Anaconda Distribution, but it may be
used for other systems as well. Conda makes environments first-class
citizens, making it easy to create independent environments even for C
libraries. The conda command line interface is written entirely in Python,
and is BSD licensed open source.
Conda is enhanced by organizations, tools, and repositories created and managed by
the amazing members of the conda community. Some of them
can be found here.
Installation
To bootstrap a minimal distribution, use a minimal installer such as Miniconda or Miniforge.
To update conda to the newest version, use the following command:
$ conda update --name base conda
[!TIP]
It is possible that conda update does not install the newest version
if the existing conda version is far behind the current release.
In this case, updating needs to be done in stages.
For example, to update from conda 4.12 to conda 23.10.0,
conda 22.11.1 needs to be installed first:
$ conda install --name base conda=22.11.1
$ conda update conda
Getting Started
If you install the Anaconda Distribution, you will already have hundreds of packages
installed. You can see what packages are installed by running:
$ conda list
to see all the packages that are available, use:
$ conda search
and to install a package, use
$ conda install <package-name>
The real power of conda comes from its ability to manage environments.
In conda, an environment can be thought of as a completely separate installation.
Conda installs packages into environments efficiently using hard links by default when it is possible, so
environments are space efficient, and take seconds to create.
The default environment, which conda itself is installed into, is called base.
To create another environment, use the conda create command.
For instance, to create an environment with PyTorch, you would run:
$ conda create --name ml-project pytorch
This creates an environment called ml-project with the latest version of PyTorch, and its dependencies.
We can now activate this environment:
$ conda activate ml-project
This puts the bin directory of the ml-project environment in the front of the PATH,
and sets it as the default environment for all subsequent conda commands.
To go back to the base environment, use:
$ conda deactivate
Building Your Own Packages
You can easily build your own packages for conda, and upload them
to anaconda.org, a free service for hosting
packages for conda, as well as other package managers.
To build a package, create a recipe. Package building documentation is available
here.
See AnacondaRecipes for the recipes that make up the Anaconda Distribution and defaults channel.
Conda-forge and Bioconda are community-driven conda-based distributions.
To upload to anaconda.org, create an account. Then, install the
anaconda-client and login:
$ conda install anaconda-client
$ anaconda login
Then, after you build your recipe:
$ conda build <recipe-dir>
you will be prompted to upload to anaconda.org.
To add your anaconda.org channel, or other’s channels, to conda so
that conda install will find and install their packages, run:
Conda is a cross-platform, language-agnostic binary package manager. It is a package manager used in conda distributions like Miniforge and the Anaconda Distribution, but it may be used for other systems as well. Conda makes environments first-class citizens, making it easy to create independent environments even for C libraries. The conda command line interface is written entirely in Python, and is BSD licensed open source.
Conda is enhanced by organizations, tools, and repositories created and managed by the amazing members of the conda community. Some of them can be found here.
Installation
To bootstrap a minimal distribution, use a minimal installer such as Miniconda or Miniforge.
Conda is also included in the Anaconda Distribution.
Updating conda
To update
condato the newest version, use the following command:Getting Started
If you install the Anaconda Distribution, you will already have hundreds of packages installed. You can see what packages are installed by running:
to see all the packages that are available, use:
and to install a package, use
The real power of conda comes from its ability to manage environments. In conda, an environment can be thought of as a completely separate installation. Conda installs packages into environments efficiently using hard links by default when it is possible, so environments are space efficient, and take seconds to create.
The default environment, which
condaitself is installed into, is calledbase. To create another environment, use theconda createcommand. For instance, to create an environment with PyTorch, you would run:This creates an environment called
ml-projectwith the latest version of PyTorch, and its dependencies.We can now activate this environment:
This puts the
bindirectory of theml-projectenvironment in the front of thePATH, and sets it as the default environment for all subsequent conda commands.To go back to the base environment, use:
Building Your Own Packages
You can easily build your own packages for conda, and upload them to anaconda.org, a free service for hosting packages for conda, as well as other package managers. To build a package, create a recipe. Package building documentation is available here. See AnacondaRecipes for the recipes that make up the Anaconda Distribution and
defaultschannel. Conda-forge and Bioconda are community-driven conda-based distributions.To upload to anaconda.org, create an account. Then, install the anaconda-client and login:
Then, after you build your recipe:
you will be prompted to upload to anaconda.org.
To add your anaconda.org channel, or other’s channels, to conda so that
conda installwill find and install their packages, run:(replacing
usernamewith the username of the person whose channel you want to add).Getting Help
Contributing
Contributions to conda are welcome. See the contributing documentation for instructions on setting up a development environment.