199

Post-question update:

See Introduction to Conda for more details.


The problem:

I first installed Anaconda on my ubuntu at ~/anaconda, when I was trying to update my anaconda, according to the documentation from Continuum Analytics, I should use the following commands:

conda update conda
conda update anaconda

Then I realized that I did not have conda installed, so I installed it using the documentation from here.

After conda is installed, when I run conda update anaconda, I got the following error:

Error: package 'anaconda' is not installed in /home/xiang/miniconda

It appears conda is assuming my anaconda is installed under /home/xiang/miniconda which is NOT true.

The questions:

  1. What are the differences between conda and anaconda?
  2. How can I tell conda where my anaconda is installed?
1

3 Answers 3

268

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.

2
  • And would you recommend doing so?
    – Archie
    Commented Nov 20, 2017 at 13:11
  • 7
    @Archie, it depends on what you want. See e.g., this post
    – S.A.
    Commented Nov 24, 2017 at 12:17
112

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.

2
  • 8
    absolutely liked how you explained the delta between each concept ! thank you
    – pemfir
    Commented Nov 11, 2020 at 3:20
  • 2
    this is both very confusing and the clearest explanation. Beautiful.
    – ZenVentzi
    Commented Dec 6, 2021 at 9:53
0

The Name

The content of the this page in the updated OP is not official: https://geohackweek.github.io/Introductory/01-conda-tutorial/

Instead, see https://www.anaconda.com/blog/whats-in-a-name-clarifying-the-anaconda-metapackage

Continuum Analytics

On Jun 28, 2017, https://www.anaconda.com/blog/continuum-analytics-officially-becomes-anaconda:

Today, Continuum Analytics changed its name to Anaconda. The name change reinforces our commitment to the Anaconda open source development community, the 4.5 million Anaconda users across the globe and customers of our Anaconda Enterprise Platform.

Anaconda

is a kind of snake:

enter image description here

conda

shortend from anaconda? (open source V.S. closed source? like .net V.S. .net Framework, PowerShell V.S PowerShell Core?)

enter image description here enter image description here

Miniconda V.S Anaconda

Think of Anaconda Distribution as a great starter toolbox and a reference set of tested software, but power users typically grow out of it, preferring to install Miniconda.

There may be many useless packages (for some users) in anaconda, like anaconda3/pkgs/transformers-4.24.0-py310h06a4308_0/

Transformers provides thousands of pretrained models to perform tasks on different modalities such as text, vision, and audio

On github

enter image description here

--Note that the logos of the organizations are different--

enter image description here

still alive: enter image description here

enter image description here

Not the answer you're looking for? Browse other questions tagged or ask your own question.