Anaconda vs miniconda

203

Di repositori Anaconda , ada dua jenis installer:

" Pemasang Anaconda " dan " Pemasang Miniconda ".

Apa perbedaan mereka?

Selain itu, untuk file penginstal Anaconda2-4.4.0.1-Linux-ppc64le.sh,, apa artinya 2-4.4.0.1?

pengguna288609
sumber

Jawaban:

135

Perbedaannya adalah miniconda hanya mengirim sistem manajemen repositori. Jadi ketika Anda menginstalnya hanya ada sistem manajemen tanpa paket. Sedangkan dengan Anaconda, itu seperti distribusi dengan beberapa paket bawaan.

Seperti halnya distribusi Linux, ada beberapa rilis yang berisi banyak pembaruan untuk paket-paket yang disertakan. Itulah sebabnya ada perbedaan penomoran versi. Jika Anda hanya memutuskan untuk memutakhirkan Anaconda, Anda memperbarui seluruh sistem.

Y0da
sumber
3
Miniconda tidak hanya mengirim sistem manajemen repositori. Python disertakan bersama paket itu, dan beberapa paket lain juga. Anda dapat memeriksa dengan menjalankan conda listtepat setelah menginstal Miniconda.
Michael
@Michael yakin itu menciptakan rootlingkungan dan berpura-pura dengan barang-barang.
Y0da
1
@Michael maaf salah ketik: prepends
Y0da
324

Per dokumen asli (tautan sudah mati):

Pilih Anaconda jika Anda:

  • Baru mengenal conda atau Python
  • Seperti kenyamanan memiliki Python dan lebih dari 150 paket ilmiah yang diinstal secara bersamaan
  • Memiliki waktu dan ruang disk (beberapa menit dan 3 GB), dan / atau
  • Tidak ingin menginstal setiap paket yang ingin Anda gunakan satu per satu.

Pilih Miniconda jika Anda:

  • Jangan keberatan menginstal masing-masing paket yang ingin Anda gunakan secara individual.
  • Tidak punya waktu atau ruang disk untuk menginstal lebih dari 150 paket sekaligus, dan / atau
  • Hanya ingin akses cepat ke Python dan perintah conda, dan ingin memilah program lain nanti.

Saya menggunakan Miniconda sendiri. Anaconda kembung. Banyak paket tidak pernah digunakan dan masih dapat dengan mudah diinstal jika dan ketika dibutuhkan.

Perhatikan bahwa Conda adalah manajer paket (mis. conda listMenampilkan semua paket yang diinstal di lingkungan), sedangkan Anaconda dan Miniconda adalah distribusi. Distribusi perangkat lunak adalah kumpulan paket, pra-dibangun dan pra-konfigurasi, yang dapat diinstal dan digunakan pada suatu sistem. Manajer paket adalah alat yang mengotomatiskan proses menginstal, memperbarui, dan menghapus paket.

Anaconda adalah distribusi penuh perangkat lunak pusat dalam ekosistem PyData, dan menyertakan Python sendiri bersama dengan binari untuk beberapa ratus proyek sumber terbuka pihak ketiga. Miniconda pada dasarnya adalah penginstal untuk lingkungan conda kosong, hanya berisi Conda, dependensinya, dan Python. Sumber .

Setelah Conda diinstal, Anda kemudian dapat menginstal paket apa pun yang Anda butuhkan dari awal bersama dengan versi Python yang diinginkan.

2-4.4.0.1adalah nomor versi untuk paket instalasi Anaconda Anda. Anehnya, itu tidak tercantum dalam Daftar Paket Lama mereka .

Pada April 2016, versi Anaconda melonjak dari 2,5 menjadi 4,0 untuk menghindari kebingungan dengan versi Python 2 & 3. Versi 4.0 termasuk Anaconda Navigator.

Catatan rilis untuk versi selanjutnya dapat ditemukan di sini .

Alexander
sumber
Sebagai pertanyaan tindak lanjut. Diberikan condamembutuhkan waktu lama untuk menginstal paket dan yang anacondadatang dengan semua paket tambahan ini, tidak akan kemudian anacondamemberi Anda "akses lebih cepat ke Python" dan paket lain dari pada miniconda? Saya menggunakan minicondasekarang, tapi astaga itu sangat lambat.
mimoralea
Pertanyaan tindak lanjut harus selalu diposting sebagai pertanyaan baru . Setelah Anda menginstal semua paket dengan conda, Anda perlu terus menyegarkan paket yang tidak Anda butuhkan yang menurut saya lebih merepotkan daripada hanya menginstal dan memperbarui paket yang digunakan. Juga, miniconda tidak lambat. Bahkan, menginstal subset paket lebih cepat daripada menginstal semuanya.
Alexander
1
2bukan bagian dari versi, itu bagian dari nama Anaconda: Di Anaconda2-4.4.0.1-Linux-ppc64le.shkami menemukan versi 4.4.0.1 dari Anaconda2 (untuk Linux yang berjalan di Little Endian 64-bit PowerPC).
David Jones
Tapi saya tidak tahu apakah anaconda dan / atau miniconda juga diperbolehkan untuk penggunaan komersial? Anaconda menawarkan "edisi individual" dan "edisi tim" tetapi dalam lisensi saya tidak dapat membaca bahwa "edisi individual" dilarang untuk digunakan dalam lingkungan produksi?
tangan NOD
22

Singkat

conda keduanya adalah alat baris perintah, dan paket python.

Pemasang miniconda = Python + conda

Penginstal Anaconda = Paket meta Python + conda+ anaconda

meta Python pkg anaconda= sekitar 160 Python pkgs untuk penggunaan sehari-hari dalam ilmu data

Pemasang Anaconda = Pemasang Miniconda + conda install anaconda

Detail

  1. conda adalah manajer python dan manajer lingkungan, yang memungkinkan untuk melakukannya

    • instal paket dengan conda install flake8
    • buat lingkungan dengan versi Python apa pun conda create -n myenv python=3.6
  2. Pemasang miniconda = Python + conda

    conda, manajer paket dan manajer lingkungan, adalah paket Python. Jadi Python diinstal. Penyebab conda mendistribusikan Python interpreter dengan sendiri perpustakaan / dependensi tapi bukan yang sudah ada pada sistem operasi Anda, dependensi minimal lainnya seperti openssl, ncurses, sqlite, dll dipasang juga.

    Pada dasarnya, Miniconda adil condadan ketergantungannya minimal . Dan lingkungan tempat condadiinstal adalah lingkungan "basis", yang sebelumnya disebut lingkungan "root".

  3. Penginstal Anaconda = condaPaket meta Python + +anaconda

  4. paket meta Python anaconda= sekitar 160 Python pkgs untuk penggunaan sehari-hari dalam ilmu data

    Paket met, adalah paket yang TIDAK mengandung perangkat lunak aktual dan hanya bergantung pada paket lain yang akan diinstal.

    Unduh anacondapaket meta dari Anaconda Cloud dan ekstrak konten darinya. 160+ paket aktual yang akan diinstal terdaftar pada 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
            # ...

    Paket pra-instal dari meta pkg anacondaterutama untuk pengikisan web dan ilmu data. Seperti requests, beautifulsoup, numpy, nltk, dll

    Jika Anda memasang Miniconda, conda install anacondaakan membuatnya sama dengan instalasi Anaconda, kecuali nama folder instalasi berbeda.

  5. Miniconda2 vs Miniconda. Anaconda2 vs Anaconda.

    2berarti juru bahasa Python yang dibundel untuk condalingkungan "basis" adalah Python 2, tetapi bukan Python 3.

Simba
sumber
20

Miniconda memberi Anda juru bahasa Python itu sendiri, bersama dengan alat baris perintah yang disebut conda yang beroperasi sebagai manajer paket lintas-platform yang diarahkan ke paket Python, serupa dengan semangat pada alat apt atau yum yang mungkin akrab bagi pengguna Linux.

Anaconda mencakup Python dan conda, dan juga paket paket pra-instal lainnya yang dirancang untuk komputasi ilmiah. Karena ukuran bundel ini, mengharapkan instalasi untuk mengkonsumsi beberapa gigabytes ruang disk.

Sumber: Python Data Science Handbook Jake VanderPlas

Bonifacio2
sumber
9

The 2di Anaconda2berarti bahwa versi utama Python akan 2.x daripada 3.x yang terpasang di Anaconda3. Rilis saat ini memiliki Python 2.7.13.

Ini 4.4.0.1adalah nomor versi Anaconda. Versi yang diiklankan saat ini adalah 4.4.0dan saya menganggap .1ini adalah rilis minor atau untuk penggunaan serupa lainnya. Rilis Windows, yang saya gunakan, katakan saja 4.4.0dalam nama file.

Yang lain sekarang menjelaskan perbedaan antara Anaconda dan Miniconda, jadi saya akan lewati itu.

Rory Daulton
sumber
3

Anaconda adalah instalasi yang sangat besar ~ 2 GB dan paling berguna bagi pengguna yang tidak terbiasa memasang modul atau paket dengan manajer paket lain.

Anaconda tampaknya mempromosikan dirinya sebagai manajer paket resmi Jupyter. Ini bukan. Anaconda bundel Jupyter, R, python, dan banyak paket dengan instalasinya.

Anaconda tidak diperlukan untuk menginstal Jupyter Lab atau kernel R. Ada banyak informasi yang tersedia di tempat lain untuk menginstal Jupyter Lab atau Notebook. Ada juga banyak informasi di tempat lain untuk menginstal R studio. Berikut ini menunjukkan cara menginstal kernel R langsung dari R Studio:

Untuk menginstal kernel R, tanpa Anaconda, mulai R Studio. Di jendela terminal R masukkan tiga perintah ini:

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

Selesai Saat berikutnya Jupyter dibuka, kernel R akan tersedia dan tersedia.

Abu-abu
sumber
2

Baik Anaconda dan miniconda menggunakan pengelola paket conda . Namun, perbedaan utama antara Anaconda dan miniconda adalah itu

Distribusi Anaconda hadir dengan semua paket sementara distribusi miniconda hanyalah sistem manajemen tanpa paket yang dimuat sebelumnya. Jika seseorang menggunakan miniconda, ia harus mengunduh paket dan pustaka secara terpisah.

Saya pribadi menggunakan distribusi Anaconda karena saya tidak perlu terlalu khawatir tentang instalasi paket individu.

Kelemahan dari miniconda adalah bahwa menginstal setiap paket individu dapat mengambil sejumlah panjang waktu . Dibandingkan dengan itu menginstal dan menggunakan Anaconda membutuhkan waktu jauh lebih sedikit.

Namun, ada beberapa paket di anaconda (QtConsole, Glueviz, Orange3 ) yang belum pernah saya gunakan. Aku bahkan tidak tahu tujuan mereka. Jadi kelemahan anaconda adalah ia menempati lebih banyak ruang daripada yang dibutuhkan.

Adhiraj Chattopadhyay
sumber
3
Jawaban ini tidak menambahkan informasi baru yang belum ada dalam jawaban Alexander .
merv