Каковы различия между Кондой и Анакондой

Обновление после вопроса:

См. Введение в Conda для получения более подробной информации.


Проблема:

Сначала я установил Anaconda на свою Ubuntu в ~/anaconda, когда я пытался обновить свою Anaconda, в соответствии с документацией от Continuum Analytics, я должен использовать следующие команды:

conda update conda
conda update anaconda

Затем я понял, что у меня не установлен conda, поэтому я установил его, используя документацию из здесь.

После установки conda, когда я запускаю conda update anaconda, я получаю следующую ошибку:

Ошибка: пакет 'anaconda' не установлен в /home/xiang/miniconda

Похоже, Конда предполагает, что моя анаконда установлена под /home/xiang/miniconda, что НЕ соответствует действительности.

Вопросы:

  1. В чем разница между Кондой и Анакондой?
  2. Как я могу сказать Конде, где установлена моя анаконда?

Ответ 1

Конда является менеджером пакетов. Anaconda представляет собой набор из около ста пакетов, включая conda, numpy, scipy, ipython notebook и так далее.

Вы установили Miniconda, которая является меньшей альтернативой Anaconda, которая является просто conda и ее зависимостями, а не перечисленными выше.

Когда у вас есть Miniconda, вы можете легко установить Anaconda в нее с помощью conda install anaconda.

Ответ 2

Краткая

conda является одновременно инструментом командной строки и пакетом Python.

Установщик Miniconda = Python + conda

Установщик Anaconda = Python + conda + метапакет anaconda

meta Python pkg anaconda = около 160 других пакетов Python для ежедневного использования в науке о данных

Установщик Anaconda = Установщик Miniconda + conda install anaconda

Деталь

conda является менеджером среды и менеджером пакетов. Это означает, что сам инструмент. conda позволяет

  • установить пакет с conda install flake8
  • создать среду с любой версией Python с помощью conda create -n myenv python=3.6

conda - это не двоичная команда, это пакет Python. Чтобы заставить conda работать, вы должны создать среду Python и установить в нее пакет conda. Именно здесь приходит установщик Anaconda и установщик Miniconda.

Установщик Minoconda устанавливает Python и пакет conda. Установщик Anaconda не только делает то, что делает Miniconda, но и устанавливает для вас мета пакет Python с именем anaconda.

Мета-пакеты - это пакеты, которые НЕ содержат реального программного обеспечения и просто зависят от других пакетов, которые будут установлены.

Фактические пакеты 160+ Python, включенные в pkg anaconda, перечислены в 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
        # ...

Предустановленные пакеты из meta pkg anaconda в основном предназначены для веб-поиска и анализа данных. Например, requests, beautifulsoup, numpy, nltk и т.д.