As a package manager, Conda allows users to install different versions of binary software packages and their required software dependencies appropriate for their computing platform from a software repository.[15] Conda checks everything that has been installed, any version limitations that the user specifies (for example, the user wants a specific package to be at least version 2.1.3), and determines a set of versions for all requested packages and their dependencies that makes the total set compatible with one another. If there is no set of compatible dependencies, it will tell the user that the requested combination of software packages at the requested versions is not possible.
Secondly, Conda allows users to create such a set of software packages in isolation from the rest of the computing platform, in what Conda calls an environment.[16] This allows the user to create various sets of software packages for different projects. When the users switches between those projects, they switch to the relevant environment, thereby avoiding the re-installation or removal of conflicting packages. To further facilitate the setup of such environments, Conda can also install Python, the interpreter for the software packages itself.[17]
Conda is written in the Python programming language, but can manage projects containing code written in any language, including multi-language projects.
A popular Conda channel for bioinformatics software is Bioconda, which provides multiple software distributions for computational biology.[18][19]
^"3. Managing Python". 2015. Archived from the original on 16 June 2015. Retrieved 16 Jun 2015. So now let's say you need Python 3 to learn programming, but you don't want to overwrite your Python 2.7 environment by updating Python. You can create and activate a new environment named snakes, and install the latest version of Python 3 as follows...
^Grüning, Bjorn; the Bioconda Team (27 October 2017). "Bioconda: A sustainable and comprehensive software distribution for the life sciences". bioRxiv10.1101/207092.