Anaconda vs. miniconda

201

W repozytorium Anaconda istnieją dwa typy instalatorów:

Instalatorzy Anaconda ” i „ Instalatorzy Miniconda ”.

Jakie są ich różnice?

Poza tym, Anaconda2-4.4.0.1-Linux-ppc64le.shco oznacza plik instalatora 2-4.4.0.1?

użytkownik 288609
źródło

Odpowiedzi:

133

Różnica polega na tym, że miniconda po prostu wysyła system zarządzania repozytorium. Tak więc po zainstalowaniu jest tylko system zarządzania bez pakietów. Natomiast w przypadku Anacondy jest to dystrybucja z niektórymi wbudowanymi pakietami.

Podobnie jak w przypadku każdej dystrybucji Linuksa, istnieją pewne wydania, które zawierają wiele aktualizacji dołączonych pakietów. Dlatego istnieje różnica w numeracji wersji. Jeśli zdecydujesz się tylko na aktualizację Anacondy, aktualizujesz cały system.

Y0da
źródło
3
Miniconda nie tylko dostarcza system zarządzania repozytorium. Python jest dostarczany wraz z nim, a także kilkoma innymi pakietami. Możesz to sprawdzić, uruchamiając conda listzaraz po zainstalowaniu Minicondy.
Michael
@Michael na pewno tworzy rootśrodowisko i udaje, że jest z czymś.
Y0da,
1
@Michael przepraszam literówka:
prepends
324

Według oryginalnych dokumentów (link już nie żyje):

Wybierz Anaconda, jeśli:

  • Są nowi w Conda lub Python
  • Podobnie jak wygoda automatycznego instalowania Pythona i ponad 150 pakietów naukowych jednocześnie
  • Mieć czas i miejsce na dysku (kilka minut i 3 GB) i / lub
  • Nie chcę instalować każdego z pakietów, z których chcesz korzystać osobno.

Wybierz Miniconda, jeśli:

  • Nie przejmuj się instalowaniem każdego z pakietów, których chcesz używać osobno.
  • Nie masz czasu ani miejsca na dysku, aby zainstalować jednocześnie ponad 150 pakietów i / lub
  • Po prostu chcę szybkiego dostępu do Pythona i poleceń conda, a później uporządkować inne programy.

Sam używam Minicondy. Anakonda jest wzdęta. Wiele pakietów nigdy nie jest używanych i nadal można je łatwo zainstalować w razie potrzeby.

Zauważ, że Conda jest menedżerem pakietów (np. conda listWyświetla wszystkie zainstalowane pakiety w środowisku), podczas gdy Anaconda i Miniconda są dystrybucjami. Dystrybucja oprogramowania jest zbiorem gotowych i wstępnie skonfigurowanych pakietów, które można zainstalować i używać w systemie. Menedżer pakietów to narzędzie, które automatyzuje proces instalowania, aktualizowania i usuwania pakietów.

Anaconda jest pełną dystrybucją centralnego oprogramowania w ekosystemie PyData i obejmuje samego Pythona wraz z plikami binarnymi dla kilkuset projektów open-source innych firm. Miniconda jest zasadniczo instalatorem pustego środowiska conda, zawierającego tylko Condę, jej zależności i Pythona. Źródło .

Po zainstalowaniu Conda możesz zainstalować od zera dowolny potrzebny pakiet wraz z dowolną wersją Pythona.

2-4.4.0.1to numer wersji pakietu instalacyjnego Anaconda. O dziwo, nie ma go na liście starych pakietów .

W kwietniu 2016 r. Wersja Anaconda podskoczyła z 2,5 do 4,0, aby uniknąć pomyłek z wersjami 2 i 3 Pythona. Wersja 4.0 zawierała Anaconda Navigator.

Informacje o wydaniu kolejnych wersji można znaleźć tutaj .

Alexander
źródło
Jako pytanie uzupełniające. Biorąc pod uwagę, condaże instalacja pakietów anacondazajmuje tyle czasu, a wraz z tymi wszystkimi dodatkowymi pakietami, czy nie zapewniłbyś wtedy anaconda„szybszego dostępu do Pythona” i innych pakietów niż miniconda? Używam w minicondatej chwili, ale Boże, to jest takie wolne.
mimoralea,
Pytania uzupełniające należy zawsze umieszczać jako nowe pytania. Po zainstalowaniu wszystkich pakietów za pomocą conda musisz ciągle odświeżać niepotrzebne pakiety, co moim zdaniem jest bardziej kłopotliwe niż tylko instalowanie i aktualizowanie używanych pakietów. Ponadto miniconda nie jest wolna. W rzeczywistości instalacja podzbioru pakietów jest szybsza niż instalacja wszystkiego.
Alexander,
1
2nie jest częścią wersji, jest częścią nazwy Anaconda: W Anaconda2-4.4.0.1-Linux-ppc64le.shznajduje się wersja 4.4.0.1 Anaconda2 (dla Linuksa działającego na Little Endian 64-bitowym PowerPC).
David Jones
Ale nie mogę ustalić, czy anakonda i / lub minikonda są również dozwolone do użytku komercyjnego? Anaconda oferuje „edycję indywidualną” i „edycję zespołową”, ale w licencji nie mogę przeczytać, że „edycja indywidualna” jest zabroniona w środowisku produkcyjnym?
ręka NOD
22

Krótki

conda jest zarówno narzędziem wiersza poleceń, jak i pakietem Python.

Instalator Miniconda = Python + conda

Anaconda installer = Python + conda+ pakiet meta anaconda

meta Python pkg anaconda= około 160 paczek Python do codziennego użytku w analizie danych

Instalator Anaconda = Instalator Miniconda + conda install anaconda

Szczegół

  1. conda jest menedżerem python i menedżerem środowiska, co umożliwia

    • zainstaluj pakiet z conda install flake8
    • utwórz środowisko z dowolną wersją Pythona za pomocą conda create -n myenv python=3.6
  2. Instalator Miniconda = Python + conda

    conda, menedżer pakietów i menedżer środowiska, jest pakietem Python. Python jest zainstalowany. Przyczyna Conda rozpowszechniać interpreter Pythona z własnymi libraries / zależnościami, ale nie te, istniejące od systemu operacyjnego, inne minimalne zależności podoba openssl, ncurses, sqliteitp są zainstalowane.

    Zasadniczo Miniconda jest sprawiedliwa condai ma minimalne zależności . Środowisko, w którym condajest zainstalowane, to środowisko „podstawowe”, które wcześniej nazywało się środowiskiem „root”.

  3. Anaconda installer = Python + conda+ pakiet metaanaconda

  4. pakiet meta Python anaconda= około 160 paczek Pythona do codziennego użytku w analizie danych

    Pakiety Meta to pakiety, które NIE zawierają faktycznego oprogramowania i po prostu zależą od innych pakietów, które zostaną zainstalowane.

    Pobierz anacondapakiet meta z Anaconda Cloud i wyodrębnij z niego zawartość. Rzeczywiste ponad 160 pakietów do zainstalowania znajduje się w 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
            # ...

    Wstępnie zainstalowane pakiety z meta pkg anacondasą głównie przeznaczone do skrobania stron internetowych i analizy danych. Jak requests, beautifulsoup, numpy, nltk, itd.

    Jeśli masz zainstalowaną Minicondę, conda install anacondasprawi, że będzie taka sama jak instalacja Anaconda, z tym wyjątkiem, że nazwy folderów instalacyjnych są różne.

  5. Miniconda2 vs Miniconda. Anaconda2 vs Anaconda.

    2oznacza, że ​​dołączony interpreter języka Python condaw środowisku „podstawowym” to Python 2, ale nie Python 3.

Simba
źródło
20

Miniconda udostępnia interpreter Pythona wraz z narzędziem wiersza polecenia o nazwie conda, które działa jako menedżer pakietów między platformami ukierunkowany na pakiety Pythona, podobnie jak narzędzia apt lub yum, które mogą być zaznajomieni z użytkownikami Linuksa.

Anaconda zawiera zarówno Pythona, jak i conda, a ponadto zawiera pakiet innych wstępnie zainstalowanych pakietów ukierunkowanych na informatykę naukową. Ze względu na rozmiar tego pakietu należy oczekiwać, że instalacja zużyje kilka gigabajtów miejsca na dysku.

Źródło: Jake VanderPlas's Python Data Science Handbook

Bonifacio2
źródło
9

2W Anaconda2użyciu, że głównym wersja Pythona 2.x będzie raczej niż zainstalowany w 3.x Anaconda3. Obecna wersja ma Python 2.7.13.

Jest 4.4.0.1to numer wersji Anacondy. Obecna reklamowana wersja jest 4.4.0i zakładam, że .1jest to niewielkie wydanie lub do innych podobnych zastosowań. Wersje systemu Windows, których używam, po prostu powiedz 4.4.0w nazwie pliku.

Inni wyjaśnili teraz różnicę między Anacondą i Minicondą, więc pominę to.

Rory Daulton
źródło
3

Anaconda to bardzo duża instalacja ~ 2 GB i jest najbardziej przydatna dla tych użytkowników, którzy nie są zaznajomieni z instalowaniem modułów lub pakietów z innymi menedżerami pakietów.

Wydaje się, że Anaconda promuje się jako oficjalny menedżer pakietów Jupyter. To nie jest. Anaconda instaluje pakiety Jupyter, R, Python i wiele pakietów.

Anakonda nie jest konieczna do instalacji Jupyter Lab lub jądra R. Istnieje wiele informacji dostępnych gdzie indziej na temat instalacji Jupyter Lab lub Notebooków. Istnieje również wiele informacji na temat instalacji studia R. Poniżej pokazano, jak zainstalować jądro R bezpośrednio z R Studio:

Aby zainstalować jądro R, bez Anacondy, uruchom R Studio. W oknie terminala R wprowadź następujące trzy polecenia:

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

Gotowe. Następnym razem, gdy Jupyter zostanie otwarty, jądro R będzie dostępne.

Szary
źródło
2

Zarówno Anaconda, jak i miniconda używają menedżera pakietów conda . Szef differece między między Anaconda i miniconda jest jednak to, że

Dystrybucja Anaconda jest fabrycznie załadowana ze wszystkimi pakietami, podczas gdy dystrybucja miniconda to tylko system zarządzania bez uprzednio załadowanych pakietów. Jeśli używasz minicondy, musisz osobno pobierać poszczególne pakiety i biblioteki.

Ja osobiście korzystam z dystrybucji Anaconda, ponieważ tak naprawdę nie muszę się zbytnio przejmować instalacjami poszczególnych pakietów.

Wadą miniconda jest to, że instalacja każdego pojedynczego pakietu może zająć dużo czasu . W porównaniu z instalowaniem i używaniem Anacondy zajmuje dużo mniej czasu.

Jednak w Anaconda jest kilka pakietów (QtConsole, Glueviz, Orange3 ), z których nigdy nie musiałem korzystać. Nie znam nawet ich celu. Wadą anakondy jest to, że zajmuje ona więcej miejsca niż to konieczne.

Adhiraj Chattopadhyay
źródło
3
Ta odpowiedź nie dodaje żadnych nowych informacji, które nie były jeszcze w odpowiedzi Aleksandra .
merv