Почніть роботу з Anaconda Python

0

Безсумнівно, Python є важливою частиною сучасної науки про дані. Зручний і потужний, Python об’єднує вчених і розробників даних із цілою галактикою інструментів і функцій зручними програмними способами.

Тим не менш, ці інструменти іноді постачаються з необхідністю складання, іноді багато. Оскільки Python є мовою програмування загального призначення, те, як він упакований і доставлений, не говорить нічого конкретно науковцям. Але різні проекти доставляють Python цій аудиторії у готовий спосіб, майже не потребуючи збирання — тож звичайні користувачі Python також можуть ним скористатися.

Дистрибутив Anaconda — це переупакування Python, призначене для розробників, які використовують Python для обробки даних. Він надає графічний інтерфейс керування, низку науково орієнтованих робочих середовищ та інструменти для спрощення процесу використання Python для обробки даних. Його також можна використовувати як загальну заміну стандартного дистрибутива Python, але лише якщо ви усвідомлюєте, чим і чому він відрізняється від стандартної версії Python.

Anaconda складається з двох основних компонентів: дистрибутива Anaconda та служб, які з нею використовуються. Ви можете завантажити та використовувати дистрибутив Anaconda без служб.

Дистрибутив Anaconda доступний у двох різних версіях: звичайна версія дистрибутива та Miniconda, дуже скорочена, мінімізована версія Anaconda. Це хороший вибір, якщо для початку вам потрібні лише основи. Якщо, наприклад, вам не потрібен графічний інтерфейс Anaconda або ви не хочете попередньо інсталювати повний набір інструментів, оскільки намагаєтеся заощадити місце на диску, ви можете встановити Miniconda, а потім інсталювати в нього лише ті компоненти, які вам потрібні.

Сервіси Anaconda доступні на різних рівнях як для індивідуальних, так і для корпоративних користувачів. Функції для індивідуальних користувачів включають розміщення до чотирьох додатків даних і до 20 ГБ «ноутбуків», розміщених у хмарі. Корпоративні функції включають елементи керування репозиторієм, керування версіями, планування завдань і SLA для безвідмовної роботи.

У всіх випадках ви можете використовувати дистрибутив Anaconda необмежений час безкоштовно.

Що входить до Anaconda

CPython, еталонна версія Python, включає кілька речей, які полегшують життя: стандартну бібліотеку, міні-IDE IDLE та бібліотеку інтерфейсу користувача Tkinter. Але все, що може знадобитися для науки про дані, є доповненням — навіть найпростіші інструменти. Anaconda, навпаки, намагається включити гідний вибір інструментів для обробки даних із коробки.

Ось що включено за замовчуванням у дистрибутив Anaconda.

Інтерпретатор Python

Anaconda за замовчуванням містить найновішу версію інтерпретатора Python. Це не стандартна збірка CPython, яка надходить від Python Software Foundation — це спеціальна збірка, створена Anaconda Inc. спеціально для дистрибутива Anaconda. За словами генерального директора Anaconda Пітера Ванга, інтерпретатор має «більш безпечні позначки компілятора на деяких платформах, кращу оптимізацію продуктивності на інших».

Тим не менш, інтерпретатор Python від Anaconda повинен бути сумісний із CPython. Розширення C, написані для нього, повинні працювати як є.

Навігатор Анаконда

Найпомітніше, що Anaconda додає до досвіду роботи з Python, — це графічний інтерфейс Anaconda Navigator. Це не IDE, і воно не намагається ним бути, оскільки більшість IDE, що підтримують Python, можуть самі зареєструвати та використовувати середовище виконання Anaconda Python. Натомість Навігатор є організаційною системою для більших частин у Anaconda.

За допомогою Navigator ви можете додавати та запускати програми високого рівня, такі як RStudio або Jupyter lab, керувати віртуальними середовищами та пакетами, налаштувати «проекти» як спосіб керування роботою в Anaconda і виконувати різні адміністративні функції.

Читайте також:  Глибоке навчання проти машинного: розуміння відмінностей

Хоча Навігатор забезпечує зручність графічного інтерфейсу користувача, він не замінює жодної функції командного рядка в Anaconda або в Python загалом. Наприклад, хоча ви можете керувати пакетами через графічний інтерфейс користувача, ви також можете використовувати для цього командний рядок.

CPython, навпаки, не має формального графічного інтерфейсу. Він постачається з IDLE, міні-IDE, яка підходить для швидких одноразових завдань. Але будь-що для керування самим Python має надходити від третіх сторін. З цією метою деякі IDE надають інтерфейси GUI для компонентів CPython. Microsoft Visual Studio, наприклад, має графічний інтерфейс для pip-системи керування пакетами Python, подібний до інтерфейсу користувача, який Anaconda надає для свого власного менеджера пакетів Conda.

Менеджер пакетів Conda

Python поставляється з pip-диспетчером пакунків для встановлення та керування сторонніми пакетами Python. Незважаючи на те, що розробники Python pip протягом багатьох років розширювали його повноваження, вони все ще обмежені. Він керує лише пакетами для самого Python, а не рештою системи. Якщо пакет Python залежить від чогось поза Python, розробник зобов’язаний встановити та керувати ним окремо.

Розробники Anaconda боролися з цим обмеженням, але зрештою вирішили розробити власне рішення – Conda, рішення для керування пакетами, яке обробляє не лише пакунки Python, але й залежності поза екосистемою Python.

Ось приклад того, з чим допомагає Conda: якщо у вас є кілька пакетів Conda, які покладаються на компілятор, наприклад GCC або LLVM, Conda може вирішити цю зовнішню залежність для всіх цих пакетів. Він може встановити один екземпляр певної версії GCC для всіх пакетів Conda, яким це потрібно. pip, навпаки, доведеться або припустити, що GCC уже встановлено десь у вашій системі, або додати копію GCC до кожного пакета, який його використовує. Це жахливо неефективне та громіздке рішення.

Таким чином, Conda не є взаємозамінним з pip. Він навіть не використовує той самий формат пакета. Пакунки, створені для pip повинні бути повторно створені для Conda. Але майже кожен важливий пакет, який використовується в екосистемі Python, доступний через Conda.

Пакети Python, навіть керовані за допомогою Conda, не завжди добре взаємодіють один з одним. Іноді вам потрібні різні версії пакетів для конкретних проектів. Функція віртуальних середовищ Python , також відома як venv , була розроблена, щоб компенсувати цю проблему, але Conda йде далі.

Середовища Conda, як їх називають, функціонально подібні до venv-віртуальних середовищ. Якщо ви хочете використовувати певні версії пакетів або певні версії інтерпретатора Python, ви можете розмістити їх у середовищі Conda та використовувати їх ізольовано.

Середовища Venv можна переміщати, але вони не обов’язково мають детальну інформацію про те, як вони були створені. Це може бути проблемою, якщо вам потрібне відтворюване середовище для роботи, яку ви виконуєте. Середовища Conda призначені для відтворення.

Якщо ви хочете, щоб інші люди використовували ваше середовище Conda, ви надаєте їм копію файлу визначення середовища, який описує, як повторно створити середовище в іншій системі. Існують обмеження щодо того, наскільки добре це може працювати в кросплатформному режимі, тому будь-які відмінності між роботою пакетів на різних платформах (наприклад, macOS проти Linux) потрібно буде усувати вручну.

Три середовища Conda з пакетами та середовищами виконання.

Читайте також:  Батл: Splunk проти Elastic Search

Існує три середовища Conda, кожне зі своїм власним набором пакетів і середовища виконання Python. Середовище env-310 використовує Python 3.10 замість новішої версії. Середовище ml-workspace містить PyTorch. Кожне середовище Conda має оновлювати набір пакетів окремо.

Проект Анаконда

Поширеною проблемою науки про дані та розробки програмного забезпечення в цілому є відтворення точного середовища, яке використовується для певної роботи. Навіть середовища Conda забезпечують лише часткове вирішення цієї проблеми, оскільки venv-середовища типу CPython не відтворюють і не можуть відтворювати такі речі, як змінні середовища.

Саме проект Anaconda дозволяє вам взяти каталог, повний речей, пов’язаних із чимось, що ви робите з Anaconda — «веб-програми, сценарії, блокноти Jupyter, файли даних, що б це не було», як каже Anaconda — і перетворити його на відтворюваний ресурс. Цей каталог, якщо ним керує Anaconda Project, можна запускати узгоджено незалежно від того, де він запускається, якщо під рукою є копія Anaconda.

Зараз найбільшою проблемою Anaconda Project є те, що він все ще вважається продуктом бета-версії, тому він ще не стабільний. Поки це не станеться, його не слід використовувати для спільного використання роботи в середовищах, де ви не можете гарантувати, що всі працюватимуть з тією самою версією. Тим часом середовища Conda можуть забезпечити надійну підмножину тієї самої функціональності.

Програми в Anaconda

Ще один спосіб, завдяки якому Anaconda додає зручності у використанні Python для аналізу та наукової роботи, полягає в тому, що вона об’єднує та робить доступними кілька типових проектів для інтерактивної роботи з даними.

Два з найпоширеніших таких проектів — це Jupyter Notebook і Jupyter Lab, які забезпечують живе середовище для написання коду Python, імпорту даних, проведення експериментів і візуалізації результатів. Anaconda виконує всі налаштування та керування для запуску примірників Notebook і Jupyter Lab, тому робота з ними передбачає лише натискання кнопки «Запустити» біля кожної програми в головному меню Navigator. Ви також можете встановити попередні версії кожної програми, клацнувши значок шестірні програми, якщо вони доступні.

Інші програми в комплекті включають:

  • Qtconsole: графічний інтерфейс для Jupyter, який використовує бібліотеку інтерфейсу Qt. Це корисно, якщо ви бажаєте працювати з ноутбуками Jupyter через інтерфейс, який є рідним для платформи, на якій ви працюєте, а не через веб-браузер.
  • Spyder: Наукове середовище розробки Python, міні-IDE, написане на Python, орієнтоване головним чином на розробників, які пишуть програми, які працюють із ноутбуками IPython/Jupyter. Його також можна використовувати як бібліотеку для програм Python, яким потрібен інтерфейс, схожий на IDE.
  • RStudio: Інструменти для роботи з мовою R , які використовуються в багатьох сферах для аналізу даних. Популярність Python серед користувачів R зросла, але все ще є багато сценаріїв, коли R залишається мовою вибору, а RStudio надає способи спільної роботи з двома мовами.
  • Код Visual Studio: завдяки величезній культурі розширень редактор Microsoft може бути настільки простим чи просунутим, наскільки ви хочете. Це також одне з найкращих середовищ для роботи з Python. Користувачі Anaconda можуть відразу перейти до Visual Studio Code, не встановлюючи його окремо.

Anaconda об’єднує багато допоміжних програм, таких як Jupyter Notebook, інтерактивне робоче середовище для Python у браузері. Усі деталі керування Jupyter автоматично обробляються Anaconda.

Читайте також:  Назар Бабенко як приклад людей, які створюють успішне майбутнє нашої України!

Мініконда: легка анаконда

Якщо ви хочете використовувати Anaconda, але не бажаєте встановлювати все відразу, і необов’язково потрібен Навігатор, ви можете скористатися поступовим підходом з Miniconda.

Miniconda встановлює лише абсолютний мінімум, необхідний для початку роботи з Anaconda: інтерпретатор Python (у комплекті Anaconda), менеджер пакунків Conda та кілька інших основних компонентів. Ви можете додавати більше компонентів або створювати середовища за допомогою Conda з командного рядка, так само, як і для повномасштабної версії Anaconda.

Кілька речей варто мати на увазі. По-перше, як було зазначено вище, графічний інтерфейс Anaconda Navigator не встановлено за замовчуванням. Однак, якщо ви виявите, що вам це потрібно, ви можете додати це в Conda (за допомогою команди conda install anaconda-navigator).

По-друге, Miniconda за замовчуванням встановлюється в каталог з назвою Miniconda3, а не Anaconda. Це може когось збентежити, якщо вони шукатимуть у Anaconda каталозі встановлення Miniconda. Однак каталог встановлення можна налаштувати за потреби.

По-третє (і певним чином найважливіше), Conda можна використовувати лише для встановлення пакетів, доступних через власний репозиторій Conda, у Miniconda. Він не використовується для встановлення пакетів, доступних через типове сховище пакетів Python, PyPI. Ви можете використовувати стандартний інструмент керування пакетами Python, pip щоб інсталювати пакети Python із PyPI в Miniconda. Однак Conda не може керувати цими пакетами, а лише pip, і вам потрібно буде вжити певних заходів , щоб pip і Conda могли співіснувати.

Якщо ви хочете, щоб Conda керувала всім, ви можете переупакувати пакети PyPI як пакети Conda за допомогою двоетапного процесу.

Залишається додати, що Anaconda пропонує безкоштовну версію під назвою Anaconda Individual Edition. Ця версія призначена для особистого використання та включає:

  • Python 3.x: Останню версію Python з попередньо встановленими пакетами для науки про дані, машинного навчання та аналітики.
  • Jupyter Notebook: Інтерактивне середовище для розробки та виконання коду Python.
  • Anaconda Navigator: Графічний інтерфейс для керування пакетами, середовищами та проектами Anaconda.
  • Понад 150 бібліотек: Широкий спектр бібліотек для науки про дані, машинного навчання, глибокого навчання, візуалізації та багато іншого.

Безкоштовна версія Anaconda Individual Edition підходить для:

  • Студентів та початківців, які вивчають Python та науку про дані.
  • Розробників, які хочуть експериментувати з новими бібліотеками та інструментами.
  • Професіоналів, які потребують Anaconda для особистих проектів.

Ось деякі обмеження безкоштовної версії Anaconda Individual Edition:

  • Вона не призначена для комерційного використання.
  • Технічна підтримка не надається.
  • Деякі функції, доступні в платній версії, недоступні.

Проте безкоштовна версія – це прекрасний варіант для ознайомлення з Anaconda. Окрім безкоштовної версії Anaconda Individual Edition, існує також Anaconda Enterprise, платна версія, яка пропонує додаткові функції та підтримку для корпоративних користувачів. Придбати її можна у офіційного дистриб’ютора Anaconda – компанії Ідеалсофт.

Залишити відповідь