Anaconda vs. miniconda
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.
Per the original docs:
Choose Anaconda if you:
- Are new to conda or Python
- Like the convenience of having Python and over 1500 scientific packages automatically installed at once
- Have the time and disk space (a few minutes and 3 GB), and/or
- Don’t want to install each of the packages you want to use individually.
Choose Miniconda if you:
- Do not mind installing each of the packages you want to use individually.
- Do not have time or disk space to install over 1500 packages at once, and/or
- Just want fast access to Python and the conda commands, and wish to sort out the other programs later.
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.
Brief
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
Detail
conda
is a python manager and an environment manager, which makes it possible to- install package with
conda install flake8
- create an environment with any version of Python with
conda create -n myenv python=3.6
- install package with
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 likeopenssl
,ncurses
,sqlite
, etc are installed as well.Basically, Miniconda is just
conda
and its minimal dependencies. And the environment whereconda
is installed is the "base" environment, which is previously called "root" environment.Anaconda installer = Python +
conda
+ meta packageanaconda
meta Python package
anaconda
= about 160 Python pkgs for daily use in data scienceMeta 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 ininfo/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. Likerequests
,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 forconda
in the "base" environment is Python 2, but not Python 3.