Баннер мобильный (1) Пройти тест

Anaconda Python

Глоссарий

6 октября 2023

Поделиться

Скопировано

Содержание

    Anaconda Python — дистрибутив языков программирования Python и R с открытым исходным кодом для ОС Windows, Linux и MacOS, в который входит набор свободных библиотек, система управления пакетами и другие компоненты. Он используется для проведения научных и инженерных расчетов, решения задач в области обработки данных, прогнозной аналитики, машинного обучения. Его разработкой и поддержкой занимается компания Anaconda Inc., основанная Питером Вангом и Трэвисом Олифантом в 2012 году. Дистрибутив предназначен для более простого развертывания пакетов и управления ими. 

    Официальный логотип дистрибутива Anaconda
    Логотип Anaconda

    Что такое Anaconda

    Программа Anaсonda представляет собой полноценную систему работы с библиотеками Python, включающую программу-установщик и набор следующих файлов.

    • Библиотеки. Каждая из них включает определенный набор функций и объектов, предназначенный для решения конкретных задач — например, работы с массивами данных, астрономических вычислений, обработки изображений, построения и тренировки нейронных сетей, различных инженерных расчетов, статистического анализа и т.д. Всего в пакет Anaconda входит около 1500 библиотек, объединенных научной и инженерной тематикой. 
    • Менеджер пакетов Conda. Это кроссплатформенное программное обеспечение, предназначенное для установки пакетов ПО и библиотек, быстрого переключения между их версиями, загрузки и инсталляции обновлений. Conda написана на Python, но является языково-независимой, то есть может работать с проектами, написанными на любом языке программирования. Кроме того, с ее помощью можно установить и сам Python — возможность, предусмотренная далеко не во всех менеджерах пакетов, написанных на этом ЯП. Из-за того, что менеджер пакетов оказался очень удобен для решения задач, не связанных с Python, он был выделен в отдельный дистрибутив с открытым исходным кодом.
    • Менеджер виртуальной среды. Это программа, позволяющая создавать, редактировать, удалять и отслеживать состояние виртуальных машин. Управление изолированными виртуальными средами осуществляется из единой контрольной консоли. Виртуализация используется при работе над несколькими проектами одновременно, позволяя исключить их влияние друг на друга, тем самым обеспечив высокую точность расчетов.
    • GIU Anaconda Navigator. GUI (graphic user interface) — графический интерфейс пользователя, то есть программная оболочка, в которой можно работать с библиотеками не с помощью текстовых команд, а используя визуальные элементы, такие как блоки, модули, графики и т.д. «Анаконда Навигатор» существенно упрощает взаимодействие с библиотеками, делает работу менее однообразной и утомительной, повышает наглядность рабочего процесса. 

    Anaconda — не просто набор отдельных библиотек, а полноценная интегрированная среда разработки. То есть все входящие в нее пакеты и инструменты настроены так, чтобы работать совместно. Ее основное отличие от других менеджеров пакетов, таких как pip, заключается в том, что установка библиотек происходит с учетом уже установленных версий и их особенностей. Когда pip инсталлирует пакет, он автоматически устанавливает все зависимости Python без проверки их совместимости с уже имеющимися на компьютере. 

    Например, пользователь, у которого уже установлена рабочая сборка, к примеру Google Tensorflow, использует pip для установки пакета, требующего другой версии зависимой библиотеки Numpy, а не той, которая на данный момент задействована в Tensorflow. Из-за этого он может столкнуться с тем, что сборка либо перестает работать вообще, либо дает искаженные результаты при проведении расчетов. 

    В то же время менеджер пакетов Conda сначала проверяет текущую среду, в том числе все установленные в настоящее время пакеты, а также ограничения их версий. И уже на основе этого анализа программа либо подбирает совместимый с ними комплект зависимостей, либо уведомляет пользователя, что это невозможно.  

    Что такое Anaconda Navigator

    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 Navigator осуществляется преимущественно мышью. Доступные инструменты и библиотеки выглядят как иконки, расположенные в рабочем окне и сопровождающиеся коротким описанием. Все операции по скачиванию, установке, запуску компонентов выполняются через виртуальные кнопки. Такой способ управления максимально понятен даже начинающим пользователям. 

    Преимущества Anaconda

    Универсальность. Anaconda предназначена для расчетов на языках Python и R. Это делает ее оптимальным выбором для специалистов в области анализа и обработки данных, владеющих обоими ЯП, а также для тех, кто только делает первые шаги в их изучении и пока не знает, какой осваивать в первую очередь.

    Открытый исходный код. Anaconda распространяется как свободное программное обеспечение, то есть ее можно установить и использовать бесплатно. А открытость исходного кода делает ПО доступным для просмотра и изменения самим пользователем, который может адаптировать систему под выполнение конкретной задачи. 

    Наличие свыше 1500 библиотек. Такое количество предустановленных пакетов — одно из главных преимуществ Anaconda. Это избавляет пользователя от необходимости искать и устанавливать нужные библиотеки отдельно. Кроме того, все пакеты в Anaconda подобраны с учетом максимально широкого круга задач, выполняемых в рамках науки о данных, научных и инженерных вычислений. 

    Богатая документация. Так как Anaconda — продукт с открытым исходным кодом, по ней имеется множество руководств, инструкций и туториалов по установке, настройке и использованию, созданных как официальными разработчиками, так и сторонними специалистами, программистами-любителями. Богатая документация в сочетании с обширным экспертным сообществом позволяют пользователю найти ответ на любую возникшую в работе с Anaconda проблему. Еще одна особенность Anaconda — отличная документация.

    Кроссплатформенность. Anaconda может быть установлена на Windows, Linux и MacOS. Это, с одной стороны, позволяет работать с помощью системы над одним проектом нескольким разработчикам, использующим разные платформы. С другой — продукты, созданные с помощью Anaconda, можно переносить между платформами без риска того, что они не будут работать. 

    Простота и удобство. Anaconda предлагает пользователю широкий выбор способов установки и управления программными пакетами. Тем, кто только начинает постигать азы работы в Python, доступен графический интерфейс, позволяющий управлять компонентами и библиотеками несколькими кликами мышью. Для более опытных пользователей есть командная консоль Conda, работа в которой осуществляется с помощью текстовых команд. Каждый пользователь имеет возможность выбрать тот способ взаимодействия с компонентами, который ему ближе. 

    Зачем использовать несколько сред Python

    При работе с Python вы устанавливаете конкретную версию языка с актуальными версиями пакетов, необходимых для рабочих расчетов и экспериментов. 

    После того как вы постигните основы Python и скачаете дистрибутивы Python из GitHub, Kaggle или других репозиториев, возможно, вам понадобятся иные версии библиотек, чем те, которые вы используете в настоящее время. В такой ситуации будет нужно настроить различные среды, чтобы старые и новые версии не конфликтовали друг с другом и не нарушали работу приложений. 

    Среда представляет собой изолированное окружение (виртуальную машину), которая имитирует работу полноценного физического ПК. За ее создание и работу отвечает встроенный в Anaconda менеджер виртуальной среды, который выделяет для этого часть физических ресурсов ПК (оперативную память, дисковое пространство, мощность процессора и т.д.). С помощью этого инструмента можно одновременно создать несколько рабочих сред. 

    Также использование нескольких сред Python может понадобиться в следующих ситуациях:

    • при нарушении работы приложения. Допустим, на компьютере уже установлено разработанное ПО, которое сначала работало отлично, но в какой-то момент перестало запускаться. Такое случается, например, из-за критической несовместимости конкретной версии пакета с другими компонентами программы. Одно из решений заключается настройке отдельной среды для приложения, содержащей новую версию Python и полностью совместимые библиотеки;
    • при совместной работе. При разработке приложений в команде часто необходимо проверять работу программы на разных компьютерах. Не обязательно для этого переносить приложение с одного физического ПК на другой — достаточно настроить на одном изолированную среду Python с эмуляцией операционной системы и установить в нее тестируемую программу;
    • для тестирования программы на ПК клиента. Коммерческие приложения обязательно проходят проверку на работоспособность у конечных пользователей. Можно тестировать их непосредственно после доставки клиентам, но это не очень удобно — в случае, если продукт не будет работать нормально, придется его отзывать для исправления неполадок. А это дополнительные расходы. К тому же — не каждый клиент будет ждать, пока разработчик исправит ошибки. Создав на своем рабочем ПК виртуальные среды с различными операционными системами, разработчик может заранее протестировать приложение на работоспособность и отправить пользователям конечную версию программы для их ОС; 
    • при разработке и использовании программ разных версий. Если разработчик создает сразу несколько продуктов одновременно, у них могут отличаться требования к Python или версиям библиотек. С помощью изолированных виртуальных сред можно параллельно работать над несколькими приложениями сразу, установив разные дистрибутивы Python с отдельными пакетами под различные задачи. 

    Как работают каналы в Anaconda

    Conda при установке или обновлении пакетов ищет их в специальных хранилищах, которые называются каналами. При этом она использует каналы в соответствии с их иерархией. Те, которые имеют наивысший приоритет, Conda в поисках нужного пакета проверяет первыми. Пользователь может самостоятельно изменить приоритетность уже имеющихся каналов и добавить к ним новые.

    Одна из проблем такой иерархической системы в том, что Conda, скачивая пакет из канала с низким приоритетом, может перезаписать библиотеку, которая была загружена с более приоритетного репозитория. Соответственно, это способно привести к несовместимости перезаписанного пакета с другими компонентами Anaconda.  

    Чтобы этого не произошло, добавлять новые каналы нужно так, чтобы они были расположены в конце иерархического списка и имели самый низкий приоритет. Таким образом пользователь может добавить «специальные» пакеты, не включенные в те, которые уже инсталлированы по умолчанию. В итоге он получает все пакеты по умолчанию, что снижает вероятность их изменения по менее приоритетному каналу.

    Что такое Miniconda

    Для многих задач в области научных и инженерных вычислений, обработки данных не требуется того широкого функционала, который предлагает 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 на ПК, и сразу можно приступать к работе. 

    Как запустить Anaconda

    Установка Anaconda зависит от того, какой операционной системой вы пользуетесь, а также типа дистрибутива (стандартного или минимального).

    Рассмотрим процесс для наиболее распространенной ОС — Microsoft Windows.

    1. Скачивание и установка.

      Дистрибутив «Анаконда» — это свободное ПО, поэтому его можно абсолютно бесплатно скачать с официального сайта разработчика. Перед тем как установить Anaconda, в разделе с версиями программного пакета выбираете подходящую для вашей операционной системы — в рассматриваемом случае это Windows 10 64-разрядная.  Кликните по скачанному файлу, примите лицензионное соглашение (оно обязательно даже для свободного ПО) и дальше следуйте командам программы-установщика. В процессе установки инсталлятор предложит добавить Anaconda в переменную окружения PATH — не рекомендуется это делать, так как возможно изменение работы других установленных приложений. 

    2. Создание новой среды в Anaconda.

      После установки дистрибутива нужно создать новую среду для дальнейшей работы с Python. Для этого откройте в Navigator и зайдите в раздел Environments в левом основном меню, а затем кликните мышью на иконку крестика с пометкой Create. Новая среда успешно создана. Затем нужно зайти в раздел Channels и добавить новый канал, кликнув на Add и затем на кнопку Update channels. Из добавленного хранилища Conda скачает нужные библиотеки.

    3. Загрузка компонентов.

      Зайдите в Navigator и перейдите во вкладку Home, после чего выберите нужные вам компоненты и инсталлируйте их в ранее созданную виртуальную среду. За счет визуального интерфейса в «Навигаторе» доступные инструменты отображаются в окне. Для установки достаточно кликнуть на кнопку Install под выбранным компонентом. Когда он будет загружен, кнопка Install сменится на Launch, кликнув на которую можно запустить приложение. 

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

    Поделиться

    Скопировано

    0 комментариев

    Комментарии