Do you get confused as to what are Conda, Anaconda, Miniconda, conda-forge, and what the relationship is between them?
If so, this article will help you get an overview of everything Conda. We will only stay at overview level, and cover details in future post.
Let’s start with what is Anaconda?
Anaconda is an expanded distribution of Python, that includes the standard Python distribution (that you could download and install from Python.org), and adds few hundred additional modules. A large number of these modules are targeted toward data science and machine learning capability.
Note: Anaconda also provides a distribution for R programming language, similar to Python distribution.
Quick comparison of (standard) Python distribution and Anaconda Python distribution:
- Sites:
- Standard Python distribution can be downloaded from python.org
- Anaconda distribution can be downloaded from anaconda.com
- License Type:
- Standard Python distribution is open-source, and free
- Anaconda distribution is available in multiple editions:
- Anaconda Individual Edition is free, and meant for solo practitioners, students and researchers
- Other Editions (Commercial / Team / Enterprise) are all paid editions
Is Anaconda same as Conda?
NO!! But they have some relation.
First, what’s Conda?
Conda (@ conda.io) is an open source cross-platform package and environment management system, available for Linux, macOS and Windows.
Key features of Conda:
- Install and update packages (and their dependencies)
- Available for various programming languages, including:
- C, and C++
- Java
- JavaScript
- Python (primary target)
- R
- Ruby
- Scala
- and several others
- Create and manage multiple environments
Now, the relation between the two:
- Conda is included in Anaconda Python distribution (as well as R distribution)
- Conda is from the same company that owns Anaconda software: Anaconda Inc (previously Continuum Analytics)
Now a baby anaconda – Miniconda
One more thing – there is another variant available, called Miniconda. Consider it a baby-anaconda. Miniconda is a basically a bootstrap version of Anaconda, that comes with conda, Python, their dependent packages, along with only a handful additional packages. You can always add more packages with ease.
OK, so what about conda-forge?
conda-forge is simply a platform to enable sharing of community led collection of recipes, build infrastructure and distributions for the conda package manager.
Now, back to Conda distribution – because it’s so awesome!
When you install Anaconda, it installs a GUI based centralized software and package managed called “Anaconda Navigator”.
Image courtesy of docs.anaconda.com
Anaconda Navigator provides you with a central place to not only manage packages and environments, but also one-stop-shop to install, manage and launch many of the popular software that you would use for data-science and machine learning, such as:
- Jupyter Notebook
- Jupyter Lab
- PyCharm
- Spyder
- Visual Studio Code
Bottom line is – if you are going to work on data science projects, you cannot go wrong with Anaconda Distribution for Python (or R, for that matter).
External resources: