Having only recently learned about conda and anaconda for Python, I was thoroughly confused because the "anaconda" I am familiar with is the Fedora installer by that name. (This is also what Wikipedia describes.) But upon closer inspection, it turns out that the latter is written in Python. Are these anacondas actually the same thing after all?
Anaconda is the installation program used by Fedora, Red Hat Enterprise Linux and some other distributions. During installation, a target computer's hardware is identified and configured, and the appropriate file systems for the system's architecture are created.
Conda is a package manager. It helps you take care of your different packages by handling installing, updating and removing them. Anaconda contains all of the most common packages (tools) a data scientist needs and can be considered the hardware store of data science tools.
Some people think that anaconda and python are one and the same. However, anacondas and pythons belong to two different families of snake. Anacondas belong to the boa family and are found in South America and the Amazon basin. A python belongs to the family Pythonidae.
No, they are unrelated. It's quite confusing because they both involve managing software installations. Since you're already familiar with Anaconda the Fedora installer (and because I don't know it as well), let me explain the different parts of Continuum's Anaconda / conda.
Anaconda is a Python distribution. The standard Python distribution (CPython) normally installs Python to something like C:\PythonXX on Windows or /usr/local/bin/pythonXX for the executable + /usr/local/lib/pythonXX for site-packages on Linux, whereas the Anaconda distribution normally installs to C:\Anaconda or C:\users\uname\Anaconda or to ~/Anaconda on Linux. The Anaconda distribution includes hundreds of additional packages that are not standard python distribution. It is focused on the scientific community, and most of the packages are analytic based. It has picked version of each of them that do not create dependency conflicts while still being fairly up-to-date.
Miniconda is an alternative Python distribution. It does not contain the hundreds of scientific packages that Anaconda has and contains a minimal set of packages on top of the normal Python distribution.
Anaconda Server (formally Binstar) lets you host packages + dependency management. To a degree, it is an alternative to PyPi, but it also integrates with PyPi. It can host PyPi style packages and Conda style packages.
All three come with conda. conda is a package management system. It is both an installer that can replace pip (although similar to Anaconda Server and PyPi, it can integrate with pip). It is also a tool to create virtual environments similar to vitualenv. conda is particularly good at cross-platform installations (if you think installing packages on Windows sucks, conda makes it suck less). It is also particularly good at extension libraries, which are Python packages that contain non-Python code such as C, C++, LLVM, or Fortran. conda claims that they are language agnostic, but it's almost exclusively used for managing Python packages.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With