Anaconda vs. miniconda


205

ในที่เก็บแอนาคอนดามีตัวติดตั้งสองประเภท:

"ตัวติดตั้ง Anaconda " และ " ตัวติดตั้ง Miniconda "

ความแตกต่างของพวกเขาคืออะไร?

นอกจากนี้สำหรับไฟล์ตัวติดตั้งAnaconda2-4.4.0.1-Linux-ppc64le.shแล้วจะมีผล2-4.4.0.1อย่างไร

คำตอบ:


136

ข้อแตกต่างคือ miniconda เพียงส่งระบบการจัดการพื้นที่เก็บข้อมูล ดังนั้นเมื่อคุณติดตั้งจะมีเพียงระบบการจัดการที่ไม่มีแพ็คเกจ ในขณะที่มีอนาคอนดามันก็เหมือนกับการกระจายกับบางแพคเกจในตัว

เช่นเดียวกับการแจกจ่าย Linux มีบางรุ่นที่รวมการปรับปรุงจำนวนมากสำหรับแพ็คเกจที่รวมอยู่ นั่นคือเหตุผลที่มีความแตกต่างในการกำหนดหมายเลขเวอร์ชัน หากคุณตัดสินใจที่จะอัปเกรด Anaconda คุณกำลังอัปเดตทั้งระบบ


4
Miniconda ไม่ได้เป็นเพียงการจัดส่งระบบการจัดการพื้นที่เก็บข้อมูล Python มาพร้อมกับมันและแพ็คเกจอื่น ๆ ด้วย คุณสามารถตรวจสอบได้ด้วยการรันconda listทันทีหลังจากติดตั้ง Miniconda
Michael

@Michael แน่ใจว่าจะสร้างrootสภาพแวดล้อมและแกล้งกับสิ่ง
Y0da

2
@Michael ขออภัย typo: prepends
Y0da

326

ต่อเอกสารต้นฉบับ (ตอนนี้ลิงก์ตายไปแล้ว):

เลือกอนาคอนดาหากคุณ:

  • ยังใหม่กับ conda หรือ Python
  • เช่นเดียวกับความสะดวกสบายในการมี Python และแพ็คเกจทางวิทยาศาสตร์กว่า 150 ชุดติดตั้งโดยอัตโนมัติในครั้งเดียว
  • มีเวลาและพื้นที่ดิสก์ (ไม่กี่นาทีและ 3 GB) และ / หรือ
  • ไม่ต้องการติดตั้งแต่ละแพ็คเกจที่คุณต้องการใช้เป็นรายบุคคล

เลือก Miniconda ถ้าคุณ:

  • อย่ารังเกียจที่จะติดตั้งแต่ละแพ็คเกจที่คุณต้องการใช้แยกต่างหาก
  • ไม่มีเวลาหรือพื้นที่ดิสก์ในการติดตั้งมากกว่า 150 แพ็คเกจในคราวเดียวและ / หรือ
  • เพียงแค่ต้องการเข้าถึง Python และคำสั่ง conda อย่างรวดเร็วและต้องการเรียงลำดับโปรแกรมอื่น ๆ ในภายหลัง

ฉันใช้ Miniconda ด้วยตัวเอง งูใหญ่ป่อง แพ็คเกจจำนวนมากไม่เคยใช้งานและยังสามารถติดตั้งได้ง่ายหากจำเป็นและเมื่อต้องการ

โปรดทราบว่าCondaเป็นผู้จัดการแพคเกจ (เช่นconda listแสดงแพ็คเกจที่ติดตั้งทั้งหมดในสภาพแวดล้อม) ในขณะที่ Anaconda และ Miniconda เป็นการแจกแจง การกระจายซอฟต์แวร์คือชุดของแพคเกจที่สร้างไว้ล่วงหน้าและกำหนดค่าล่วงหน้าที่สามารถติดตั้งและใช้งานได้บนระบบ ตัวจัดการแพ็กเกจเป็นเครื่องมือที่ทำให้กระบวนการติดตั้งอัปเดตและนำแพ็กเกจออกโดยอัตโนมัติ

อนาคอนด้าเป็นการจัดจำหน่ายซอฟต์แวร์ส่วนกลางในระบบนิเวศ PyData และรวมถึง Python พร้อมกับไบนารีสำหรับโครงการโอเพนซอร์สของบุคคลที่สามหลายร้อย Miniconda เป็นตัวติดตั้งสำหรับสภาพแวดล้อม conda ที่ว่างเปล่าซึ่งมีเพียง Conda, การพึ่งพาและ Python แหล่ง

เมื่อติดตั้ง Conda แล้วคุณสามารถติดตั้งแพ็กเกจใดก็ได้ที่คุณต้องการตั้งแต่เริ่มต้นพร้อมกับ Python เวอร์ชันที่ต้องการ

2-4.4.0.1เป็นหมายเลขเวอร์ชั่นสำหรับแพ็คเกจการติดตั้ง Anaconda ของคุณ น่าแปลกที่มันไม่ได้อยู่ในพวกเขารายการแพคเกจเก่า

ในเดือนเมษายน 2559 การสร้างเวอร์ชันของ Anaconda เพิ่มขึ้นจาก 2.5 เป็น 4.0 เพื่อหลีกเลี่ยงความสับสนกับ Python เวอร์ชัน 2 & 3 เวอร์ชัน 4.0 รวมถึง Anaconda Navigator

บันทึกประจำรุ่นสำหรับรุ่นต่อมาสามารถพบได้ที่นี่


1
เป็นคำถามติดตาม ให้condaใช้เวลานานในการติดตั้งแพ็กเกจและที่anacondaมาพร้อมกับแพ็กเกจพิเศษเหล่านี้แล้วจะไม่anacondaให้ "การเข้าถึง Python" และแพ็คเกจอื่น ๆ ที่เร็วกว่าminicondaคุณใช่ไหม ฉันกำลังใช้minicondaตอนนี้ แต่เอ้ยช้ามาก
mimoralea

1
คำถามติดตามควรโพสต์เป็นคำถามใหม่เสมอ เมื่อคุณติดตั้งแพคเกจทั้งหมดด้วย conda แล้วคุณต้องรีเฟรชแพ็กเกจอย่างต่อเนื่องซึ่งคุณไม่จำเป็นต้องใช้ซึ่งในมุมมองของฉันนั้นยุ่งยากมากกว่าการติดตั้งและอัปเดตแพ็คเกจที่ใช้ นอกจากนี้ miniconda ก็ไม่ช้า ในความเป็นจริงการติดตั้งแพคเกจย่อยเร็วกว่าการติดตั้งทุกอย่าง
Alexander

2
2ไม่ได้เป็นส่วนหนึ่งของรุ่น แต่เป็นส่วนหนึ่งของชื่อ Anaconda: Anaconda2-4.4.0.1-Linux-ppc64le.shเราพบรุ่น Anaconda2 4.4.0.1 (สำหรับ Linux ที่ใช้งานบน Little Endian 64-bit PowerPC)
David Jones

1
แต่ฉันไม่สามารถเข้าใจได้ว่าอนาคอนด้าและ / หรือมินิคอนดาจะได้รับอนุญาตให้ใช้เพื่อการพาณิชย์หรือไม่? Anaconda เสนอ "รุ่นบุคคล" และ "รุ่นทีม" แต่ในใบอนุญาตฉันไม่สามารถอ่านได้ว่า "รุ่นบุคคล" เป็นสิ่งต้องห้ามสำหรับใช้ในสภาพแวดล้อมการผลิตหรือไม่
มือของ NOD

25

สั้น

conda เป็นทั้งเครื่องมือบรรทัดคำสั่งและแพคเกจหลาม

ตัวติดตั้ง Miniconda = Python + conda

Anaconda installer = Python + conda + แพ็คเกจเมตา anaconda

meta Python pkg anaconda= ประมาณ 160 Python pkgs สำหรับใช้ประจำวันในศาสตร์ข้อมูล

Anaconda installer = ตัวติดตั้ง Miniconda + conda install anaconda

รายละเอียด

  1. conda เป็นผู้จัดการหลามและผู้จัดการสภาพแวดล้อมซึ่งทำให้มันเป็นไปได้

    • ติดตั้งแพ็คเกจด้วย conda install flake8
    • สร้างสภาพแวดล้อมด้วย Python เวอร์ชันใดก็ได้ด้วย conda create -n myenv python=3.6
  2. ตัวติดตั้ง Miniconda = Python + conda

    condaตัวจัดการแพ็คเกจและตัวจัดการสภาพแวดล้อมเป็นแพ็คเกจ Python ติดตั้ง Python ดังนั้น CONDA สาเหตุแจกจ่ายหลามล่ามด้วยตัวของมันเองห้องสมุด / อ้างอิง แต่ไม่ได้เป็นคนที่มีอยู่ในระบบปฏิบัติการของคุณอ้างอิงน้อยอื่น ๆ เช่นopenssl, ncurses,sqliteฯลฯ มีการติดตั้งเช่นกัน

    โดยทั่วไปMiniconda เป็นเพียงcondaและการอ้างอิงน้อยที่สุดของมัน และสภาพแวดล้อมที่condaติดตั้งคือสภาพแวดล้อม "ฐาน" ซึ่งก่อนหน้านี้เรียกว่าสภาพแวดล้อม "รูท"

  3. Anaconda installer = Python + conda+ แพ็คเกจเมตาanaconda

  4. แพคเกจ meta Python anaconda= ประมาณ 160 Python pkgs สำหรับใช้ในชีวิตประจำวันในศาสตร์ข้อมูล

    แพ็คเกจ Meta เป็นแพ็คเกจที่ไม่มีซอฟต์แวร์จริงและขึ้นอยู่กับแพ็คเกจอื่นที่จะติดตั้ง

    ดาวน์โหลดanacondaแพ็คเกจเมตาจากAnaconda Cloudและแตกเนื้อหาออกมา ที่เกิดขึ้นจริง 160 + 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ฯลฯ

    หากคุณติดตั้ง Miniconda conda install anacondaจะทำให้มันเหมือนกับการติดตั้ง Anaconda ยกเว้นว่าชื่อโฟลเดอร์การติดตั้งจะแตกต่างกัน

  5. Miniconda2 vs Miniconda Anaconda2 กับ Anaconda

    2หมายถึง Python interpreter ที่รวมcondaอยู่ในสภาพแวดล้อม "base" คือ Python 2 แต่ไม่ใช่ Python 3


21

Miniconda ให้ล่าม Python พร้อมเครื่องมือบรรทัดคำสั่งที่เรียกว่า conda ซึ่งทำงานเป็นผู้จัดการแพคเกจข้ามแพลตฟอร์มที่มุ่งเน้นไปที่แพ็คเกจ Python คล้ายกับเครื่องมือ apt หรือ yum ที่ผู้ใช้ Linux อาจคุ้นเคย

อนาคอนด้ามีทั้ง Python และ Conda และยังรวมชุดของแพ็คเกจที่ติดตั้งล่วงหน้าอื่น ๆ ซึ่งมุ่งเน้นไปที่การคำนวณทางวิทยาศาสตร์ เนื่องจากขนาดของบันเดิลนี้ให้คาดว่าการติดตั้งจะใช้พื้นที่ดิสก์หลายกิกะไบต์

ที่มา: คู่มือวิทยาศาสตร์ข้อมูล Pythonของ Jake VanderPlas


10

2ในAnaconda2หมายถึงว่ารุ่นหลักของงูหลามจะ 2.x มากกว่า 3.x ที่ติดตั้งในAnaconda3ที่ติดตั้งใน รุ่นปัจจุบันมี Python 2.7.13

นี่4.4.0.1คือหมายเลขเวอร์ชันของอนาคอนด้า รุ่นที่โฆษณาในปัจจุบันคือ4.4.0และฉันถือว่า.1เป็นรุ่นย่อยหรือสำหรับการใช้งานที่คล้ายกันอื่น ๆ Windows ออกมาซึ่งฉันใช้เพียงพูด4.4.0ในชื่อไฟล์

ตอนนี้คนอื่น ๆ ได้อธิบายความแตกต่างระหว่าง Anaconda และ Miniconda ดังนั้นฉันจะข้ามสิ่งนั้นไป


4

Anaconda เป็นการติดตั้งที่มีขนาดใหญ่มาก ~ 2 GB และมีประโยชน์มากที่สุดสำหรับผู้ใช้ที่ไม่คุ้นเคยกับการติดตั้งโมดูลหรือแพ็คเกจกับผู้จัดการแพ็คเกจอื่น ๆ

Anaconda ดูเหมือนว่าจะโปรโมตตัวเองในฐานะผู้จัดการแพ็คเกจอย่างเป็นทางการของ Jupyter มันไม่ใช่. Anaconda รวม Jupyter, R, python และแพ็คเกจจำนวนมากเข้ากับการติดตั้ง

Anaconda ไม่จำเป็นสำหรับการติดตั้ง Jupyter Lab หรือเคอร์เนล R มีข้อมูลมากมายสำหรับการติดตั้ง Jupyter Lab หรือโน้ตบุ๊ก นอกจากนี้ยังมีข้อมูลมากมายสำหรับการติดตั้ง R studio ต่อไปนี้แสดงวิธีการติดตั้งเคอร์เนล R โดยตรงจาก R Studio:

ในการติดตั้งเคอร์เนล R โดยไม่มีอะนาคอนดาให้เริ่ม R Studio ในหน้าต่างเทอร์มินัล R ป้อนคำสั่งทั้งสามนี้:

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

เสร็จสิ้น ครั้งต่อไปที่ Jupyter เปิดขึ้นเคอร์เนล R จะพร้อมใช้งานและพร้อมใช้งาน


3

ทั้ง Anaconda และ miniconda ใช้ตัวจัดการแพ็คเกจconda หัวหน้าแตกต่างระหว่างระหว่างอนาคอนดาและมินิคอนดานั่นคือ

การแจกจ่ายอนาคอนดานั้นมาพร้อมกับแพ็คเกจทั้งหมดในขณะที่การแจกจ่ายแบบมินิคอนดาเป็นเพียงระบบการจัดการที่ไม่มีแพ็คเกจที่โหลดไว้ล่วงหน้า หากใช้ miniconda เราจะต้องดาวน์โหลดแพ็คเกจและไลบรารีแยกต่างหาก

ฉันใช้การแจกจ่ายแบบอนาคอนดาเป็นการส่วนตัวเพราะฉันไม่ต้องกังวลกับการติดตั้งแพ็คเกจ

ข้อเสียของการ miniconda คือว่าการติดตั้งแพคเกจแต่ละบุคคลสามารถใช้เป็นจำนวนเงินที่ยาวนานของเวลา เมื่อเทียบกับการติดตั้งและใช้งาน Anaconda นั้นใช้เวลาน้อยลง

อย่างไรก็ตามมีบางแพ็คเกจในอนาคอนด้า(QtConsole, Glueviz, Orange3 ) ที่ฉันไม่เคยใช้ ฉันไม่รู้ด้วยซ้ำถึงวัตถุประสงค์ของพวกเขา ดังนั้นข้อเสียของอนาคอนด้าคือมีเนื้อที่มากกว่าที่ต้องการ


4
คำตอบนี้ไม่ได้เพิ่มข้อมูลใหม่ใด ๆ ที่ไม่ได้อยู่ในคำตอบของอเล็กซานเด
merv
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.