What are the differences between Conda and Anaconda?
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 other Python packages for daily use in data science
Anaconda installer = Miniconda installer + conda install anaconda
Detail
conda
is an environment manager and a package manager. It means the tool itself. conda
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
conda
is not a binary command, is a Python package. To make conda
work, you have to create a Python environment and install package conda
into it. This is where Anaconda installer and Miniconda installer comes in.
Installer Minoconda installs a Python and the package conda
. Installer Anaconda not only does what Miniconda does, it also install a meta Python package named anaconda
for you.
Meta packages, are packages that do NOT contain actual softwares and simply depend on other packages to be installed.
The actual 160+ python packages included in pkg anaconda
are listed in info/recipe/meta.yaml
in its source file.
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
# ...
Seeing from the above info, 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.
conda is the package manager. Anaconda is a set of about a hundred packages including conda, numpy, scipy, ipython notebook, and so on.
You installed Miniconda, which is a smaller alternative to Anaconda that is just conda and its dependencies, not those listed above.
Once you have Miniconda, you can easily install Anaconda into it with conda install anaconda
.