
Если вы программист, особенно в области науки о данных или анализа данных, вы, вероятно, страдали от головной боли из-за пакетов, входящих в дистрибутив Linux. Что, если бы существовала возможность создать отдельную среду программирования для ваших проектов, изолированную от системы, без необходимости настраивать виртуальную машину? Возможно, Mamba — это то, что вам нужно.
Что такое Мамба?

Mamba — это менеджер пакетов, предназначенный для использования в рамках одного проекта. Он похож на менеджер пакетов в современной системе Linux, но вместо управления пакетами программного обеспечения для всей системы вы создаёте среды только для тех пакетов, которые нужны вашему проекту. Mamba — это новая реализация менеджера пакетов Conda. Изначально Conda был написан на Python, но для повышения скорости Mamba была переписана на C++.
Mamba, как и Conda, популярна в области науки о данных, статистики, биостатистики и анализа данных. Похоже, что она имеет сходство с Python, судя по названию, связанному со змеей. Название, по-видимому, выбрано из-за скорости змеи, в честь которой она и названа, поскольку Mamba — более быстрая версия Conda.
Mamba выполняет многие функции, характерные для менеджера пакетов, например, поиск пакетов, их установку и обновление. Вы создаёте среды, которые можете активировать или деактивировать по своему усмотрению. Вы можете установить несколько сред на одном компьютере.
Почему Мамба?
Если вы используете Linux или другую Unix-подобную систему для разработки, вы можете задаться вопросом, зачем вам что-то вроде Mamba. Разве у вас ещё нет менеджера пакетов?
Программное обеспечение, устанавливаемое в менеджере пакетов, предназначено для всей системы. Многие системы включают интерпретатор Python, но он предназначен для запуска скриптов и других программ, зависящих от Python, а не для поддержки ваших программных проектов. Если вам нужна более новая версия Python для вашего кода, чем та, что предоставляется системой, и вы её обновляете, другие скрипты и программы, зависящие от версии, поставляемой с вашей системой, могут перестать работать.

Mamba решает эту проблему, позволяя создавать среды для задач, изолированные от базовой системы. Если вы работаете в области науки о данных или аналитики, вы можете определить среду только для своей работы, не трогая базовую систему. Вы можете активировать среду, когда захотите выполнить какие-то вычисления, и выключать её после завершения.
Я использовал Mamba для нескольких статей на HTG, включая недавнюю статью о создании предиктора цен на ноутбуки.
Установка Мамбы
Установка Mamba в большинстве Unix-подобных систем довольно проста. Я покажу, как установить Mamba в системе Debian Linux.
Вы можете скачать и установить Mamba, следуя простым инструкциям прямо со страницы документации Mamba. Для начала вам нужно скачать дистрибутив Miniforge. Это минимальная версия Mamba, содержащая все необходимые для начала работы основные файлы.
Если у вас установлен curl, все, что вам нужно сделать, это вставить строку, чтобы загрузить его в Unix-подобной системе:
curl -L -O «https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh»

После загрузки вы можете запустить установочный скрипт:
bash Miniforge3-$(uname)-$(uname -m).sh

Скрипт попросит вас нажать Enter, если вы хотите продолжить, а затем ознакомиться с условиями лицензирования. Поскольку Mamba — проект с открытым исходным кодом, это, вероятно, не составит для вас труда. Вам нужно будет ввести «yes» или «no», чтобы принять или отклонить условия лицензирования. Чтобы принять условия и продолжить установку, введите «yes» в приглашении.
После этого вам нужно будет подтвердить каталог, куда вы хотите установить пакеты Conda. По умолчанию это будет ваш домашний каталог с подкаталогом «miniforge».
После установки miniforge вам будет предложено отредактировать скрипт запуска оболочки по умолчанию, например .bashrc или .zshrc, в зависимости от используемой оболочки, чтобы Mamba автоматически запускалась при запуске оболочки. Это может пригодиться, если вы планируете активно работать с Mamba. Это упростит активацию и деактивацию окружений Mamba. Введите «yes» ещё раз для подтверждения.
Создать среду
Открыв новый терминал, вы, возможно, заметили что-то необычное в строке приглашения оболочки. Вы увидите что-то вроде «(base)». Это означает, что Mamba активирована с базовым окружением. Именно так это и выглядит: минимальное базовое окружение. Вы можете проверить это, набрав «python» в командной строке. Во вступительном сообщении вы увидите, что эта версия Python «упакована conda-forge».

Вы можете установить другие пакеты в эту базовую среду, но вам это не нужно. Суть Mamba — разместить все необходимые вам пакеты в одной среде, а те, которые нужны для другого проекта, — в другой.
Создавать окружения легко. Для этого используйте команду mamba create с опцией «-n», за которой следует имя создаваемого окружения и список пакетов, которые нужно установить в этом окружении.
Например, чтобы создать среду для статистических вычислений с именем «stats» с пакетами Python NumPy, SciPy и pandas, используйте следующую команду:
mamba create -n stats numpy scipy pandas

Как и любой другой менеджер пакетов, он определит пакеты и их зависимости, а затем попросит подтвердить их установку. Поскольку установка выполняется в вашем домашнем каталоге, вам не нужно использовать sudo или вводить пароль root.

Для активации среды статистики используйте команду «mamba activate»:
мамба активировать статистику

В командной строке вы увидите, что имя активной среды изменилось с «base» на «stats». Теперь вы можете использовать установленные в этой среде пакеты.
Давайте проверим это, запустив интерактивный интерпретатор Python.
Мы можем импортировать NumPy и все заработает.
импортировать numpy как np
np.mean([1,2,3,4])
Ответ будет выведен в виде числа с плавающей точкой 2.5.
Установка дополнительных пакетов
Часто вы понимаете, что вам может понадобиться добавить пакеты в существующую среду. Например, мне больше нравится интерпретатор IPython, чем стандартный. Добавить его можно двумя способами.

Я могу добавить его, используя опцию -n с «mamba install»
mamba install -n ipython

Я также могу выполнить команду «mamba install» в активном окружении, чтобы установить пакет в нём. Поскольку «stats» уже активен, я так и сделаю. Программа попросит подтвердить изменения, а затем установит IPython.
Я могу запустить IPython в оболочке:
ипитон
Чтобы деактивировать среду после завершения работы с ней, я могу использовать команду «mamba deactivate». Чтобы убедиться, что IPython был установлен в среду «stats», при попытке запустить его после деактивации возникает ошибка «команда не найдена».
Для поиска пакетов вы можете воспользоваться командами поиска «mamba search» или «mamba repoquery».
Например, чтобы найти пакеты, относящиеся к Jupyter, популярному интерфейсу блокнотов для научных вычислений:
мамба поиск jupyter

Обновление сред Mamba
Как и другие менеджеры пакетов, Mamba позволяет обновлять пакеты по мере выхода новых версий. Для этого можно использовать команду «mamba update».
Например, чтобы обновить все пакеты в среде статистики:
обновление мамбы —все -n статистика

В качестве альтернативы, вы можете использовать «—update-all» вместо «—all» в команде, но последний вариант короче. Поскольку это новая установка, при запуске этой команды обновлять нечего.
С помощью Mamba вы можете создавать среды, подходящие для ваших программных проектов, активировать и деактивировать их, а также обновлять по своему усмотрению. Наличие менеджера пакетов поверх вашего менеджера пакетов может показаться странным, но с Mamba ваш программный проект будет идти гораздо более гладко.