Anaсonda є повноцінною системою роботи з бібліотеками Python, що включає програму-установник і набір наступних файлів
Anaconda була заснована в 2012 році Пітером Вангом і Тревісом Оліфантом через необхідність впровадження Python в аналітику бізнес-даних. З того часу використання Python вибухнуло, ставши найпопулярнішою мовою програмування, яка використовується сьогодні.
Anaconda Python — дистрибутив мов програмування Python і R з відкритим вихідним кодом для ОС Windows, Linux та MacOS, до якого входять набір вільних бібліотек, система керування пакетами та інші компоненти. Він використовується для проведення наукових та інженерних розрахунків, вирішення завдань у галузі обробки даних, прогнозної аналітики, машинного навчання.
Pip – це система керування пакетами, яка використовується для встановлення та керування пакетів додатків, написаних на Python. Система має свої обмеження. Її можна використовувати лише для пакетів Python.
Менеджер пакетів «Pip» працює з Python і нехтує залежностями з не-Python бібліотек (HDF5, MKL, LLVM), у вихідному коді яких відсутній файл інсталятора. Простіше кажучи, pip – це менеджер пакетів, який полегшує встановлення, оновлення та видалення пакетів Python. Він працює з віртуальними середовищами Python.
Conda – менеджер пакетів для будь-якого програмного забезпечення (установка, оновлення, видалення). Він працює із віртуальними системними середовищами. Conda – це інструмент для управління пакетами і установник з куди більшим функціоналом, ніж у pip. Conda може обробляти залежності бібліотек поза пакетами Python, а також пакети Python. Крім того, Conda створює віртуальне середовище.
Conda буває у двох версіях:
- Анаконда – понад 150 попередньо встановлених пакетів (близько 3 Гб) + понад 250 пакетів, готових до встановлення командою conda install package_name
- Мініконда – понад 400 пакетів, готових до встановлення командою conda install package_name
Анаконда та Мініконда включають:
- Conda
- інтерпретатор Python
- pip
Для багатьох завдань у галузі наукових та інженерних обчислень, обробки даних не потрібно того широкого функціоналу, який пропонує Anaconda. До того ж чим більше бібліотек, тим більше місця вони займають на жорсткому диску комп’ютера. Для економії вільного простору можна використовувати мінімальний дистрибутив, який називається Miniconda.
Він включає в себе:
- пакет Python — якщо у користувача вже встановлено Python на ПК, видаляти його необов’язково. Miniconda просто встановлює свою версію бібліотеки паралельно наявної;
- менеджер пакетів Conda – її функціонал не поступається версії, що постачається у дистрибутиві Anaconda;
- пакети залежностей Python та Conda, необхідні для їх нормальної роботи;
- невеликий набір додаткових бібліотек для роботи з Python, як pip, zlib і т.д.
Завантажувальний файл Miniconda важить 73,6 Мб, тоді як інсталятор Anaconda – 1 Гб, тобто різниця між ними більш ніж у 10 разів. Встановлений пакет Miniconda займає не більше 1 Гб на жорсткому диску, тоді як розпакована Anaconda – більше 4 Гб.
Крім меншого розміру файла-установника і, відповідно, швидшого скачування та інсталяції Miniconda має ще кілька переваг перед стандартним дистрибутивом Anaconda.
Вона включає менше компонентів, що спрощує її освоєння – це особливо актуально для користувачів, які раніше не працювали із системами розробки та керування Python.
Користувач сам може вибрати потрібні йому бібліотеки, в той час як Anaconda одразу встановить весь свій вміст.
У той же час, відсутність таких компонентів, як графічний інтерфейс користувача Anaconda Navigator, робить Miniconda менш зручною в роботі з бібліотеками. Однак, у користувача завжди є можливість закачати інструменти, що відсутні, з репозиторіїв.
Miniconda — оптимальний варіант для досвідчених користувачів, які добре знаються на різних інструментах та бібліотеках Python і знають, які з них їм потрібні для роботи. Для тих, хто тільки починає осягати цю мову, рекомендується встановлювати повну версію, так як це позбавляє необхідності самостійно завантажувати потрібні компоненти. Достатньо поставити Anaconda на ПК, і відразу можна приступати до роботи.
Conda написаний на чистому Python, що полегшує його використання у віртуальних середовищах Python. Крім того, Conda підходить для бібліотек, пакетів R, Java і т.д. Він встановлює двійкові системи. Інструмент conda build створює пакети з вихідного коду, а conda install виконує інсталяцію з пакетів збирання Conda.
- Conda є менеджером пакетів для Anaconda – дистрибутива Python, що надається Continuum Analytics.
- Anaconda – це набір бінарних систем, що включає Scipy, Numpy, Pandas та їх залежності.
- Scipy – це пакет статистичного аналізу.
- Numpy – це пакет числових обчислень.
- Pandas – рівень абстракції даних для об’єднання та перетворення даних.
Anaconda корисна тим, що поєднує все це в єдину систему . Двійкова система Anaconda це установник, який збирає всі пакети з залежностями всередині вашої системи.
Anaconda Navigator – компонент Anaconda, що представляє собою графічний інтерфейс користувача на робочому столі. Він призначений для легкого запуску та керування програмами, середовищами, пакетами та каналами без використання командного рядка. З його допомогою також можна шукати та завантажувати оновлення з хмарного сховища Anaconda Cloud або з локального репозиторію. Як і вся система керування пакетами, він працює на Windows, Linux та MacOS.
До складу Anaconda Navigator входять такі інструменти:
- JupyterLab – середовище розробки, що дозволяє працювати з блокнотами, кодом та даними;
- Jupyter Notebok – браузерний інструмент для оформлення красивої та інформативної аналітики, спільного зберігання коду, картинок, приміток, діаграм, формул тощо;
- Spyder – середовище розробки для наукових обчислень на Python, що дозволяє писати, змінювати та перевіряти код. За допомогою GUI Spyder можна переглядати та редагувати змінні, аналізувати програму безпосередньо при її виконанні, виявляти помилки у реальному часі тощо. Також є можливість працювати в Anaconda з іншими середовищами розробки Python, у тому числі PyCharm та Atom;
- VS Code – редактор коду з можливістю виконувати такі операції, як налагодження, запуск завдань та контроль версій;
- Glueviz – за допомогою цього інструменту можна візуалізувати багатовимірні масиви даних у файлах. Він аналізує взаємодії як усередині кожного набору даних, і між ними;
- Orange 3 – компонентна структура глибокого аналізу та візуалізації даних. Функціонал Orange 3 відрізняється високою інтерактивністю, наявністю великого вибору різноманітних аналітичних інструментів;
- RStudio – це комбінований інструмент, що включає безліч функцій (наприклад, навчальний курс і блокнот) для більш зручної роботи з мовою програмування R.
Переваги Anaconda
- Універсальність. Anaconda призначена для розрахунків мовами Python і R. Це робить її оптимальним вибором для фахівців у галузі аналізу та обробки даних, які володіють обома ЯП, а також для тих, хто тільки робить перші кроки в їх вивченні і поки не знає, який освоювати в першу черга.
- Відкритий вихідний код. Anaconda поширюється як вільне програмне забезпечення, тобто її можна встановити та використовувати безкоштовно. А відкритість вихідного коду робить програмне забезпечення доступним для перегляду та зміни самим користувачем, який може адаптувати систему під виконання конкретної задачі.
- Наявність понад 1500 бібліотек. Така кількість встановлених пакетів – одна з головних переваг Anaconda. Це позбавляє користувача необхідності шукати і встановлювати потрібні бібліотеки окремо. Крім того, всі пакети в Anaconda підібрані з урахуванням максимально широкого кола завдань, що виконуються в рамках науки про дані, наукові та інженерні обчислення.
- Багата документація. Оскільки Anaconda – продукт з відкритим вихідним кодом, по ній є безліч посібників, інструкцій та туторіалів по встановленню, налаштуванню та використанню, створених як офіційними розробниками, так і сторонніми фахівцями, програмістами-аматорами. Багата документація у поєднанні з великою експертною спільнотою дозволяють користувачеві знайти відповідь на будь-яку проблему, що виникла в роботі з Anaconda. Ще одна особливість Anaconda – чудова документація.
- Кросплатформність. Anaconda може бути встановлена на Windows, Linux та MacOS. Це, з одного боку, дозволяє працювати за допомогою системи над одним проектом кільком розробникам, які використовують різні платформи. З іншого боку, продукти, створені за допомогою Anaconda, можна переносити між платформами без ризику того, що вони не працюватимуть.
- Простота та зручність. Anaconda пропонує користувачеві широкий вибір способів встановлення та керування програмними пакетами. Тим, хто тільки починає осягати ази роботи в Python, доступний графічний інтерфейс, що дозволяє керувати компонентами та бібліотеками кількома кліками мишею. Для досвідченіших користувачів є командна консоль Conda, робота в якій здійснюється за допомогою текстових команд. Кожен користувач має можливість вибрати спосіб взаємодії з компонентами, який йому ближче.
Anaconda пропонує дві версії: безкоштовну (Anaconda Individual) та платну (Anaconda Enterprise). Ось основні відмінності між ними:
Безкоштовна версія (Anaconda Individual):
Підходить для:
- Індивідуальних користувачів
- Некомерційних проектів
- Навчання та досліджень
Функції:
- Більше 170 пакетів Python
- Jupyter Notebook
- Spyder IDE
- Qt Designer
- Anaconda Navigator
- І багато іншого
Обмеження:
- Не для комерційного використання
- Немає підтримки
- Обмеження на доступ до деяких пакетів
- Немає доступу до Anaconda Repository
Платна версія (Anaconda Enterprise):
Підходить для:
- Комерційних організацій
- Підприємств
- Команд
- Функції:
- Всі функції Anaconda Individual
- Підтримка 24/7
- Доступ до Anaconda Repository
- Управління пакетами та середовищами
- Інтеграція з CI/CD
- Безпека та відповідність
- І багато іншого
Вартість: Залежить від кількості користувачів та необхідних функцій (Порівняння далі)
Вибір версії Anaconda залежить від ваших потреб. Якщо ви:
Індивідуальний користувач:
- Використовуєте Anaconda для некомерційних проектів
- Не потребуєте підтримки
- Вам не потрібен доступ до Anaconda Repository
- Тоді вам підійде безкоштовна версія Anaconda Individual.
Комерційна організація:
- Використовуєте Anaconda для комерційних проектів
- Вам потрібна підтримка
- Вам потрібен доступ до Anaconda Repository
- Тоді вам рекомендується платна версія Anaconda Enterprise.
Функція | Anaconda Individual | Anaconda Enterprise |
Ціна | Безкоштовно | Залежить від кількості користувачів |
Комерційне використання | Ні | Так |
Підтримка | Немає | Цілодобово |
Доступ до Anaconda Repository | Обмежений | Повний |
Управління пакетами та середовищами | Обмежене | Повне |
Інтеграція з CI/CD | Ні | Так |
Безпека та відповідність | Ні | Так |