HOME

TheInfoList



OR:

Conda is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
,
cross-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software ...
, language-agnostic
package manager A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner. A package manager deals w ...
and environment management system. It was originally developed to solve difficult package management challenges faced by Python
data scientists Data science is an interdisciplinary field that uses scientific methods, processes, algorithms and systems to extract or extrapolate knowledge and insights from noisy, structured and unstructured data, and apply knowledge from data across a bro ...
, and today is a popular package manager for Python and R. At first part of Anaconda Python distribution developed by Anaconda Inc., it ended up being useful on its own and for things other than Python, so it was spun out as a separate package, released under the
BSD license BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD li ...
. The Conda package and environment manager is included in all versions of Anaconda, Miniconda, and Anaconda Repository. Conda is a NumFOCUS affiliated project.


Features

Conda allows users to easily install different versions of
binary Binary may refer to: Science and technology Mathematics * Binary number, a representation of numbers using only two digits (0 and 1) * Binary function, a function that takes two arguments * Binary operation, a mathematical operation that ta ...
software packages and any required libraries appropriate for their
computing platform A computing platform or digital platform is an environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying ...
. Also, it allows users to switch between package versions and download and install updates from a
software repository A software repository, or repo for short, is a storage location for software packages. Often a table of contents is also stored, along with metadata. A software repository is typically managed by source control or repository managers. Package ...
. Conda is written in the Python programming language, but can manage projects containing code written in any language (e.g., R), including multi-language projects. Conda can install Python, while similar Python-based cross-platform package managers (such as ''wheel'' or pip) cannot. A popular Conda channel for bioinformatics software is ''Bioconda'', which provides multiple software distributions for computational biology.


Comparison to pip

The big difference between Conda and the pip package manager is in how package dependencies are managed, which is a significant challenge for Python data science and the reason Conda was created. Before Pip 20.3, Pip installed all Python package dependencies required, whether or not those conflict with other packages previously installed. So a working installation of, for example, Google TensorFlow would suddenly stop working when a user pip-installs a new package that needs a different version of the NumPy library. Everything might still appear to work but the user could get different results, or would be unable to reproduce the same results on a different system because the user did not pip-install packages in the same order. Conda checks the current environment, everything that has been installed, any version limitations that the user specifies (e.g. the user only wants TensorFlow >= 2.0) and figures out how to install compatible dependencies. Otherwise, it will tell the user that what he or she wants can't be done. Pip, by contrast, will just install the package the user specified and any dependencies, even if that breaks other packages.


See also

* Anaconda (Python distribution)


References


External links

* * Free package management systems Free software programmed in Python Software distribution {{free-software-stub