Anaconda vs. miniconda

203

No repositório Anaconda , existem dois tipos de instaladores:

" Instaladores Anaconda " e " Instaladores Miniconda ".

Quais são as diferenças deles?

Além disso, para um arquivo de instalação Anaconda2-4.4.0.1-Linux-ppc64le.sh, o que 2-4.4.0.1significa?

user288609
fonte

Respostas:

135

A diferença é que o miniconda está apenas enviando o sistema de gerenciamento de repositório. Portanto, quando você instala, existe apenas o sistema de gerenciamento sem pacotes. Enquanto que com o Anaconda, é como uma distribuição com alguns pacotes embutidos.

Como em qualquer distribuição Linux, existem alguns lançamentos que agrupam muitas atualizações para os pacotes incluídos. É por isso que há uma diferença na numeração de versão. Se você decidir apenas atualizar o Anaconda, estará atualizando um sistema inteiro.

Y0da
fonte
3
O Miniconda não está apenas enviando o sistema de gerenciamento de repositório. O Python vem com ele, e alguns outros pacotes também. Você pode verificar executando conda listdepois de instalar o Miniconda.
Michael
@ Michael, com certeza cria um rootambiente e finge isso com coisas.
Y0da 25/06/19
1
@ Michael
324

De acordo com os documentos originais (o link agora está desativado):

Escolha Anaconda se você:

  • São novos no conda ou Python
  • Como a conveniência de ter o Python e mais de 150 pacotes científicos instalados automaticamente de uma só vez
  • Tenha tempo e espaço em disco (alguns minutos e 3 GB) e / ou
  • Não deseja instalar cada um dos pacotes que deseja usar individualmente.

Escolha Miniconda se você:

  • Não se importe de instalar cada um dos pacotes que você deseja usar individualmente.
  • Não há tempo ou espaço em disco para instalar mais de 150 pacotes de uma só vez e / ou
  • Apenas deseja acesso rápido ao Python e aos comandos conda e deseje resolver os outros programas posteriormente.

Eu mesmo uso o Miniconda. Anaconda está inchado. Muitos dos pacotes nunca são usados ​​e ainda podem ser facilmente instalados se e quando necessário.

Observe que Conda é o gerenciador de pacotes (por exemplo,conda list exibe todos os pacotes instalados no ambiente), enquanto o Anaconda e o Miniconda são distribuições. Uma distribuição de software é uma coleção de pacotes, pré-criados e pré-configurados, que podem ser instalados e usados ​​em um sistema. Um gerenciador de pacotes é uma ferramenta que automatiza o processo de instalação, atualização e remoção de pacotes.

O Anaconda é uma distribuição completa do software central no ecossistema PyData e inclui o próprio Python junto com os binários de várias centenas de projetos de código aberto de terceiros. O Miniconda é essencialmente um instalador para um ambiente conda vazio, contendo apenas o Conda, suas dependências e Python. Fonte .

Depois que o Conda estiver instalado, você poderá instalar o pacote que precisar do zero, juntamente com qualquer versão desejada do Python.

2-4.4.0.1é o número da versão do seu pacote de instalação do Anaconda. Estranhamente, ele não está listado nas listas de pacotes antigos .

Em abril de 2016, o versionamento do Anaconda saltou de 2,5 para 4,0, a fim de evitar confusão com as versões 2 e 3. do Python. A versão 4.0 incluiu o Anaconda Navigator.

As notas de versão para versões subsequentes podem ser encontradas aqui .

Alexander
fonte
Como uma pergunta de acompanhamento. Dado que condaleva tanto tempo para instalar pacotes e que anacondavem com todos esses pacotes extras, anacondavocê não forneceria "acesso mais rápido ao Python" e outros pacotes do que miniconda? Estou usando minicondaagora, mas caramba, é tão lento.
mimoralea
As perguntas de acompanhamento devem sempre ser postadas como uma nova pergunta. Depois de instalar todos os pacotes com o conda, você precisa atualizar constantemente os pacotes que não são necessários, o que, a meu ver, é mais um aborrecimento do que apenas instalar e atualizar os pacotes usados. Além disso, a miniconda não é lenta. De fato, instalar um subconjunto de pacotes é mais rápido que instalar tudo.
Alexander
1
2não faz parte da versão, faz parte do nome do Anaconda: Anaconda2-4.4.0.1-Linux-ppc64le.shencontramos a versão 4.4.0.1 do Anaconda2 (para Linux executando no Little Endian PowerPC de 64 bits).
David Jones
Mas não consigo descobrir se anaconda e / ou miniconda também são permitidas para uso comercial? O Anaconda oferece uma "edição individual" e uma "edição em equipe", mas na licença não posso ler que a "edição individual" é proibida para uso em ambientes de produção?
a mão de NOD
22

Breve

conda é uma ferramenta de linha de comando e um pacote python.

Instalador do Miniconda = Python + conda

Instalador Anaconda = meta-pacote Python + conda+ anaconda

meta Python pkg anaconda= cerca de 160 Python pkgs para uso diário em ciência de dados

Instalador Anaconda = Instalador Miniconda conda install anaconda

Detalhe

  1. conda é um gerenciador de python e um gerenciador de ambiente, o que torna possível

    • instale o pacote com conda install flake8
    • crie um ambiente com qualquer versão do Python com conda create -n myenv python=3.6
  2. Instalador do Miniconda = Python + conda

    conda, o gerenciador de pacotes e o gerenciador de ambiente, é um pacote Python. Então, o Python está instalado. Causa Conda distribuir interpretador Python com suas próprias bibliotecas / dependências, mas não as existentes em seu sistema operacional, outras dependências mínimo como openssl, ncurses, sqlite, etc estão instalados também.

    Basicamente, o Miniconda é justo condae suas dependências mínimas . E o ambiente em que condaestá instalado é o ambiente "base", anteriormente chamado de ambiente "raiz".

  3. Instalador Anaconda = condameta-pacote Python + +anaconda

  4. pacote meta Python anaconda= cerca de 160 pacotes do Python para uso diário em ciência de dados

    Meta packages, são pacotes que NÃO contêm softwares reais e simplesmente dependem de outros pacotes a serem instalados.

    Faça o download de um anacondameta pacote do Anaconda Cloud e extraia o conteúdo dele. Os mais de 160 pacotes reais a serem instalados estão listados em 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
            # ...

    Os pacotes pré-instalados do meta pkg anacondasão principalmente para scraping na web e ciência de dados. Como requests, beautifulsoup, numpy, nltk, etc.

    Se você tiver um Miniconda instalado, conda install anacondafará com que seja igual à instalação do Anaconda, exceto que os nomes das pastas de instalação são diferentes.

  5. Miniconda2 vs Miniconda. Anaconda2 vs Anaconda.

    2significa que o intérprete do Python incluído condano ambiente "base" é o Python 2, mas não o Python 3.

Simba
fonte
20

O Miniconda fornece o próprio interpretador Python, juntamente com uma ferramenta de linha de comando chamada conda, que opera como um gerenciador de pacotes de plataforma cruzada voltado para pacotes Python, semelhante em espírito às ferramentas apt ou yum com as quais os usuários do Linux podem estar familiarizados.

O Anaconda inclui o Python e o conda, além de incluir um conjunto de outros pacotes pré-instalados voltados para a computação científica. Devido ao tamanho desse pacote, espere que a instalação consuma vários gigabytes de espaço em disco.

Fonte: Manual de ciência de dados em Python de Jake VanderPlas

Bonifacio2
fonte
9

O 2in Anaconda2significa que a versão principal do Python será 2.x em vez do 3.x instalado no Anaconda3. A versão atual possui o Python 2.7.13.

O 4.4.0.1é o número da versão do Anaconda. A versão anunciada atual é 4.4.0e presumo que .1seja uma versão secundária ou para outro uso semelhante. Os lançamentos do Windows, que eu uso, apenas dizem 4.4.0no nome do arquivo.

Outros já explicaram a diferença entre Anaconda e Miniconda, então eu vou pular isso.

Rory Daulton
fonte
3

O Anaconda é uma instalação muito grande ~ 2 GB e é mais útil para usuários que não estão familiarizados com a instalação de módulos ou pacotes com outros gerenciadores de pacotes.

O Anaconda parece estar se promovendo como o gerenciador de pacotes oficial do Jupyter. Não é. O Anaconda empacota Jupyter, R, python e muitos pacotes com sua instalação.

O Anaconda não é necessário para instalar o Jupyter Lab ou o kernel R. Há muitas informações disponíveis em outros lugares para instalar o Jupyter Lab ou Notebooks. Também há muitas informações em outros lugares para instalar o R ​​studio. A seguir, mostramos como instalar o kernel R diretamente do R Studio:

Para instalar o kernel R, sem o Anaconda, inicie o R Studio. Na janela do terminal R, insira estes três comandos:

install.packages("devtools")
devtools::install_github("IRkernel/IRkernel")
IRkernel::installspec()

Feito. Na próxima vez que o Jupyter for aberto, o kernel R estará disponível e disponível.

cinzento
fonte
2

O Anaconda e o miniconda usam o gerenciador de pacotes conda . A principal diferença entre Anaconda e miniconda , no entanto, é que

A distribuição Anaconda vem pré-carregada com todos os pacotes, enquanto a distribuição miniconda é apenas o sistema de gerenciamento sem nenhum pacote pré-carregado. Se alguém usa o miniconda, é necessário fazer o download de pacotes e bibliotecas individuais separadamente.

Eu pessoalmente uso a distribuição Anaconda, pois não preciso me preocupar muito com instalações de pacotes individuais.

Uma desvantagem do miniconda é que a instalação de cada pacote individual pode demorar muito tempo . Comparado com isso, instalar e usar o Anaconda leva muito menos tempo.

No entanto, existem alguns pacotes no anaconda (QtConsole, Glueviz, Orange3 ) que eu nunca precisei usar. Eu nem sei o propósito deles. Portanto, uma desvantagem da anaconda é que ela ocupa mais espaço do que o necessário.

Adhiraj Chattopadhyay
fonte
3
Esta resposta não adiciona nenhuma informação nova que ainda não estava na resposta de Alexander .
Merv #