Anaconda so với miniconda


202

Trong kho Anaconda , có hai loại trình cài đặt:

"Trình cài đặt Anaconda " và " Trình cài đặt Miniconda ".

Sự khác biệt của họ là gì?

Bên cạnh đó, đối với một tập tin cài đặt Anaconda2-4.4.0.1-Linux-ppc64le.sh, cái gì đại diện 2-4.4.0.1cho?

Câu trả lời:


134

Sự khác biệt là miniconda chỉ vận chuyển hệ thống quản lý kho lưu trữ. Vì vậy, khi bạn cài đặt nó, chỉ có hệ thống quản lý mà không có gói. Trong khi đó với Anaconda, nó giống như một bản phân phối với một số gói được tích hợp sẵn.

Giống như bất kỳ bản phân phối Linux nào, có một số bản phát hành gói rất nhiều bản cập nhật cho các gói đi kèm. Đó là lý do tại sao có sự khác biệt trong đánh số phiên bản. Nếu bạn chỉ quyết định nâng cấp Anaconda, bạn đang cập nhật toàn bộ hệ thống.


3
Miniconda không chỉ vận chuyển hệ thống quản lý kho lưu trữ. Python đi kèm với nó và một số gói khác cũng vậy. Bạn có thể kiểm tra bằng cách chạy conda listngay sau khi cài đặt Miniconda.
Michael

@Michael chắc chắn rằng nó tạo ra một rootmôi trường và giả vờ nó với công cụ.
Y0da

1
@Michael xin lỗi lỗi đánh máy: trả trước
Y0da

324

Theo các tài liệu gốc (liên kết hiện đã chết):

Chọn Anaconda nếu bạn:

  • Là người mới sử dụng conda hoặc Python
  • Giống như sự tiện lợi khi có Python và hơn 150 gói khoa học được cài đặt tự động cùng một lúc
  • Có thời gian và dung lượng ổ đĩa (một vài phút và 3 GB) và / hoặc
  • Không muốn cài đặt từng gói bạn muốn sử dụng riêng lẻ.

Chọn Miniconda nếu bạn:

  • Đừng bận tâm cài đặt từng gói bạn muốn sử dụng riêng lẻ.
  • Không có thời gian hoặc dung lượng đĩa để cài đặt hơn 150 gói cùng một lúc và / hoặc
  • Chỉ muốn truy cập nhanh vào Python và các lệnh conda và muốn sắp xếp các chương trình khác sau.

Tôi sử dụng Miniconda cho mình. Anaconda bị cồng kềnh. Nhiều gói không bao giờ được sử dụng và vẫn có thể dễ dàng cài đặt nếu và khi cần.

Lưu ý rằng Conda là trình quản lý gói (ví dụ: conda listhiển thị tất cả các gói đã cài đặt trong môi trường), trong khi Anaconda và Miniconda là bản phân phối. Phân phối phần mềm là một tập hợp các gói, được xây dựng trước và được cấu hình sẵn, có thể được cài đặt và sử dụng trên một hệ thống. Trình quản lý gói là một công cụ tự động hóa quá trình cài đặt, cập nhật và xóa gói.

Anaconda là một bản phân phối đầy đủ của phần mềm trung tâm trong hệ sinh thái PyData và bao gồm chính Python cùng với các nhị phân cho hàng trăm dự án nguồn mở của bên thứ ba. Miniconda về cơ bản là một trình cài đặt cho một môi trường conda trống, chỉ chứa Conda, các phụ thuộc của nó và Python. Nguồn .

Khi Conda được cài đặt, bạn có thể cài đặt bất kỳ gói nào bạn cần từ đầu cùng với bất kỳ phiên bản Python mong muốn nào.

2-4.4.0.1là số phiên bản cho gói cài đặt Anaconda của bạn. Kỳ lạ thay, nó không được liệt kê trong Danh sách gói cũ của họ .

Vào tháng 4 năm 2016, phiên bản Anaconda đã nhảy từ 2.5 lên 4.0 để tránh nhầm lẫn với phiên bản Python 2 & 3. Phiên bản 4.0 bao gồm Anaconda Navigator.

Ghi chú phát hành cho các phiên bản tiếp theo có thể được tìm thấy ở đây .


Như một câu hỏi tiếp theo. Đưa ra condamất một thời gian dài như vậy để cài đặt các gói và anacondađi kèm với tất cả các gói bổ sung này, sau đó sẽ không anacondacung cấp cho bạn "quyền truy cập nhanh hơn vào Python" và các gói khác hơn miniconda? Tôi đang sử dụng minicondangay bây giờ, nhưng nó rất chậm.
mimoralea

Các câu hỏi tiếp theo nên luôn được đăng dưới dạng một câu hỏi mới . Khi bạn cài đặt tất cả các gói với conda, bạn cần liên tục làm mới các gói bạn không cần, theo quan điểm của tôi thì rắc rối hơn là chỉ cài đặt và cập nhật các gói mà người ta sử dụng. Ngoài ra, miniconda không chậm. Trong thực tế, cài đặt một tập hợp con các gói nhanh hơn cài đặt mọi thứ.
Alexander

1
2không phải là một phần của phiên bản, nó là một phần của tên Anaconda: Trong Anaconda2-4.4.0.1-Linux-ppc64le.shchúng tôi tìm thấy phiên bản 4.4.0.1 của Anaconda2 (dành cho Linux chạy trên PowerPC 64 bit của Little Endian).
David Jones

Nhưng tôi không thể biết liệu anaconda và / hoặc miniconda cũng được phép sử dụng cho mục đích thương mại? Anaconda cung cấp "phiên bản cá nhân" và "phiên bản nhóm" nhưng trong giấy phép tôi không thể đọc được rằng "phiên bản cá nhân" bị cấm sử dụng trong môi trường sản xuất?
bàn tay của NOD

22

Tóm tắt

conda vừa là công cụ dòng lệnh, vừa là gói python.

Trình cài đặt Miniconda = Python + conda

Trình cài đặt Anaconda = Python + conda+ gói meta anaconda

meta Python pkg anaconda= khoảng 160 Python pkgs để sử dụng hàng ngày trong khoa học dữ liệu

Trình cài đặt Anaconda = Trình cài đặt Miniconda + conda install anaconda

Chi tiết

  1. conda là một người quản lý python và một người quản lý môi trường, làm cho nó có thể

    • cài đặt gói với conda install flake8
    • tạo một môi trường với bất kỳ phiên bản Python nào với conda create -n myenv python=3.6
  2. Trình cài đặt Miniconda = Python + conda

    conda, trình quản lý gói và quản lý môi trường, là gói Python. Vậy là Python đã được cài đặt. Nguyên nhân conda phân phối thông dịch Python với các thư viện riêng của mình / phụ thuộc nhưng không phải là những cái hiện có trên hệ thống điều hành của bạn, phụ thuộc tối thiểu khác thích openssl, ncurses, sqlite, vv được cài đặt là tốt.

    Về cơ bản, Miniconda chỉ là condavà phụ thuộc tối thiểu của nó . Và môi trường nơi condađược cài đặt là môi trường "cơ sở", trước đây được gọi là môi trường "gốc".

  3. Trình cài đặt Anaconda = Python + conda+ gói metaanaconda

  4. gói meta Python anaconda= khoảng 160 pkgs Python để sử dụng hàng ngày trong khoa học dữ liệu

    Các gói Meta, là các gói KHÔNG chứa phần mềm thực tế và chỉ phụ thuộc vào các gói khác sẽ được cài đặt.

    Tải xuống anacondagói meta từ Anaconda Cloud và trích xuất nội dung từ nó. 160+ gói thực tế sẽ được cài đặt được liệt kê trong 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
            # ...

    Các gói được cài đặt sẵn từ meta pkg anacondachủ yếu dành cho quét web và khoa học dữ liệu. Giống như requests, beautifulsoup, numpy, nltkvv

    Nếu bạn đã cài đặt Miniconda, conda install anacondasẽ làm cho nó giống như cài đặt Anaconda, ngoại trừ tên thư mục cài đặt khác nhau.

  5. Miniconda2 vs Miniconda. Anaconda2 vs Anaconda.

    2có nghĩa là trình thông dịch Python được đóng gói condatrong môi trường "cơ sở" là Python 2, nhưng không phải là Python 3.


20

Miniconda cung cấp cho bạn trình thông dịch Python, cùng với một công cụ dòng lệnh gọi là conda hoạt động như một trình quản lý gói đa nền tảng hướng đến các gói Python, tương tự như các công cụ apt hoặc yum mà người dùng Linux có thể quen thuộc.

Anaconda bao gồm cả Python và conda, và thêm vào đó là một bộ các gói được cài đặt sẵn khác hướng đến tính toán khoa học. Do kích thước của gói này, hy vọng việc cài đặt sẽ tiêu tốn vài gigabyte dung lượng đĩa.

Nguồn: Cẩm nang khoa học dữ liệu Python của Jake VanderPlas


9

Phiên bản 2in Anaconda2có nghĩa là phiên bản chính của Python sẽ là 2.x chứ không phải là 3.x được cài đặt Anaconda3. Bản phát hành hiện tại có Python 2.7.13.

Số 4.4.0.1phiên bản của Anaconda. Phiên bản được quảng cáo hiện tại là 4.4.0và tôi cho rằng đây .1là một phiên bản nhỏ hoặc sử dụng tương tự khác. Các bản phát hành Windows, mà tôi sử dụng, chỉ cần nói 4.4.0trong tên tệp.

Những người khác hiện đã giải thích sự khác biệt giữa Anaconda và Miniconda, vì vậy tôi sẽ bỏ qua điều đó.


3

Anaconda là một bản cài đặt rất lớn ~ 2 GB và hữu ích nhất cho những người dùng không quen với việc cài đặt các mô-đun hoặc gói với các trình quản lý gói khác.

Anaconda dường như đang tự quảng bá mình là người quản lý gói chính thức của Jupyter. Nó không thể. Anaconda gói Jupyter, R, python và nhiều gói với cài đặt của nó.

Anaconda không cần thiết để cài đặt Jupyter Lab hoặc kernel R. Có rất nhiều thông tin có sẵn ở nơi khác để cài đặt Jupyter Lab hoặc Notebook. Ngoài ra còn có nhiều thông tin ở nơi khác để cài đặt R studio. Phần sau đây cho biết cách cài đặt kernel R trực tiếp từ R Studio:

Để cài đặt kernel R, không có Anaconda, hãy khởi động R Studio. Trong cửa sổ đầu cuối R, nhập ba lệnh sau:

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

Làm xong. Lần tiếp theo Jupyter được mở, hạt nhân R sẽ có sẵn và có sẵn.


2

Cả Anaconda và miniconda đều sử dụng trình quản lý gói conda . Tuy nhiên, điểm khác biệt chính giữa Anacondaminiconda

Phân phối Anaconda được tải sẵn với tất cả các gói trong khi phân phối miniconda chỉ là hệ thống quản lý mà không có bất kỳ gói được tải trước nào. Nếu một người sử dụng miniconda, người ta phải tải xuống các gói và thư viện riêng lẻ.

Cá nhân tôi sử dụng phân phối Anaconda vì tôi không thực sự phải lo lắng nhiều về việc cài đặt gói riêng lẻ.

Một nhược điểm của miniconda là việc cài đặt từng gói riêng lẻ có thể mất nhiều thời gian . So với việc cài đặt và sử dụng Anaconda tốn ít thời gian hơn rất nhiều.

Tuy nhiên, có một số gói trong anaconda (QtConsole, Glameviz, Orange3 ) mà tôi chưa bao giờ phải sử dụng. Tôi thậm chí không biết mục đích của họ. Vì vậy, một nhược điểm của Anaconda là nó chiếm nhiều không gian hơn mức cần thiết.


3
Câu trả lời này không thêm bất kỳ thông tin mới nào chưa có trong câu trả lời của Alexandre .
merv
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.