In the Anaconda repository, there are two types of installers:
"Anaconda installers" and "Miniconda installers".
What are their differences?
Besides, for an installer file, Anaconda2-4.4.0.1-Linux-ppc64le.sh
, what does 2-4.4.0.1
stand for?
Per the original docs:
Choose Anaconda if you:
Choose Miniconda if you:
I use Miniconda myself. Anaconda is bloated. Many of the packages are never used and could still be easily installed if and when needed.
Note that Conda is the package manager (e.g. conda list
displays all installed packages in the environment), whereas Anaconda and Miniconda are distributions. A software distribution is a collection of packages, pre-built and pre-configured, that can be installed and used on a system. A package manager is a tool that automates the process of installing, updating, and removing packages.
Anaconda is a full distribution of the central software in the PyData ecosystem, and includes Python itself along with the binaries for several hundred third-party open-source projects. Miniconda is essentially an installer for an empty conda environment, containing only Conda, its dependencies, and Python. Source.
Once Conda is installed, you can then install whatever package you need from scratch along with any desired version of Python.
2-4.4.0.1
is the version number for your Anaconda installation package. Strangely, it is not listed in their Old Package Lists.
In April 2016, the Anaconda versioning jumped from 2.5 to 4.0 in order to avoid confusion with Python versions 2 & 3. Version 4.0 included the Anaconda Navigator.
Release notes for subsequent versions can be found here.
The difference is that miniconda is just shipping the repository management system. So when you install it there is just the management system without packages. Whereas with Anaconda, it is like a distribution with some built in packages.
Like with any Linux distribution, there are some releases which bundles lots of updates for the included packages. That is why there is a difference in version numbering. If you only decide to upgrade Anaconda, you are updating a whole system.
EDIT there are new options now for on the package management side. mamba
can be used as a drop in replacement for conda
. It has a faster solver and is a complete re-write in C++. The solver is actually experimentally available in conda
with --experimental-solver=libmamba
. Keywords to look for if you want to learn more: mamba
, mambaforge
, micromamba
.
conda
is both a command line tool, and a python package.
Miniconda installer = Python + conda
Anaconda installer = Python + conda
+ meta package anaconda
meta Python pkg anaconda
= about 160 Python pkgs for daily use in data science
Anaconda installer = Miniconda installer + conda install anaconda
conda
is a python manager and an environment manager, which makes it possible to
conda install flake8
conda create -n myenv python=3.6
Miniconda installer = Python + conda
conda
, the package manager and environment manager, is a Python package. So Python is bundled in Miniconda installer. Cause conda distribute Python interpreter with its own libraries/dependencies but not the existing ones on your operating system, other minimal dependencies like openssl
, ncurses
, sqlite
, etc are installed as well.
Basically, Miniconda is just conda
and its minimal dependencies. And the environment where conda
is installed is the "base" environment, which is previously called "root" environment.
Anaconda installer = Python + conda
+ meta package anaconda
meta Python package anaconda
= about 160 Python pkgs for daily use in data science
Meta packages, are packages that do NOT contain actual softwares and simply depend on other packages to be installed.
Download an anaconda
meta package from Anaconda Cloud and extract the content from it. The actual 160+ packages to be installed are listed in info/recipe/meta.yaml
.
package:
name: anaconda
version: '2019.07'
build:
ignore_run_exports:
- '*'
number: '0'
pin_depends: strict
string: py36_0
requirements:
build:
- python 3.6.8 haf84260_0
is_meta_pkg:
- true
run:
- alabaster 0.7.12 py36_0
- anaconda-client 1.7.2 py36_0
- anaconda-project 0.8.3 py_0
# ...
- beautifulsoup4 4.7.1 py36_1
# ...
- curl 7.65.2 ha441bb4_0
# ...
- hdf5 1.10.4 hfa1e0ec_0
# ...
- ipykernel 5.1.1 py36h39e3cac_0
- ipython 7.6.1 py36h39e3cac_0
- ipython_genutils 0.2.0 py36h241746c_0
- ipywidgets 7.5.0 py_0
# ...
- jupyter 1.0.0 py36_7
- jupyter_client 5.3.1 py_0
- jupyter_console 6.0.0 py36_0
- jupyter_core 4.5.0 py_0
- jupyterlab 1.0.2 py36hf63ae98_0
- jupyterlab_server 1.0.0 py_0
# ...
- matplotlib 3.1.0 py36h54f8f79_0
# ...
- mkl 2019.4 233
- mkl-service 2.0.2 py36h1de35cc_0
- mkl_fft 1.0.12 py36h5e564d8_0
- mkl_random 1.0.2 py36h27c97d8_0
# ...
- nltk 3.4.4 py36_0
# ...
- numpy 1.16.4 py36hacdab7b_0
- numpy-base 1.16.4 py36h6575580_0
- numpydoc 0.9.1 py_0
# ...
- pandas 0.24.2 py36h0a44026_0
- pandoc 2.2.3.2 0
# ...
- pillow 6.1.0 py36hb68e598_0
# ...
- pyqt 5.9.2 py36h655552a_2
# ...
- qt 5.9.7 h468cd18_1
- qtawesome 0.5.7 py36_1
- qtconsole 4.5.1 py_0
- qtpy 1.8.0 py_0
# ...
- requests 2.22.0 py36_0
# ...
- sphinx 2.1.2 py_0
- sphinxcontrib 1.0 py36_1
- sphinxcontrib-applehelp 1.0.1 py_0
- sphinxcontrib-devhelp 1.0.1 py_0
- sphinxcontrib-htmlhelp 1.0.2 py_0
- sphinxcontrib-jsmath 1.0.1 py_0
- sphinxcontrib-qthelp 1.0.2 py_0
- sphinxcontrib-serializinghtml 1.1.3 py_0
- sphinxcontrib-websupport 1.1.2 py_0
- spyder 3.3.6 py36_0
- spyder-kernels 0.5.1 py36_0
# ...
The pre-installed packages from meta pkg anaconda
are mainly for web scraping and data science. Like requests
, beautifulsoup
, numpy
, nltk
, etc.
If you have a Miniconda installed, conda install anaconda
will make it same as an Anaconda installation, except that the installation folder names are different.
Miniconda2 v.s. Miniconda. Anaconda2 v.s. Anaconda.
2
means the bundled Python interpreter for conda
in the "base" environment is Python 2, but not Python 3.
Miniconda gives you the Python interpreter itself, along with a command-line tool called conda which operates as a cross-platform package manager geared toward Python packages, similar in spirit to the apt or yum tools that Linux users might be familiar with.
Anaconda includes both Python and conda, and additionally bundles a suite of other pre-installed packages geared toward scientific computing. Because of the size of this bundle, expect the installation to consume several gigabytes of disk space.
Source: Jake VanderPlas's Python Data Science Handbook
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