
Быстрые ссылки
Работаете с анализом данных или увлекаетесь data science? Тогда вы наверняка сталкивались с бардаком в пакетах на Linux. А что, если бы каждому проекту можно было дать свою программу в собственной песочнице, полностью изолированной от остальной системы, и всё это — без лишних танцев с виртуальными машинами? Вот здесь и вступает в игру Mamba.
Что такое Mamba?

Mamba — это менеджер пакетов для создания изолированных проектов. В чём-то похож на обычные пакетные менеджеры Linux, но его задача — собирать и управлять нужными программами именно для вашего проекта, не затрагивая систему целиком. К тому же, это ускоренная версия знаменитой Conda: всё ради скорости, поэтому Mamba написана не на Python, а на C .
В тусовке аналитиков данных, статистиков и биоинформатиков Mamba уже стала своим парнем. Название со “змеиной” темой идеально сочетается с Python — и, честно говоря, они отлично работают вместе. А главное — скорость установки и обновления просто космическая по сравнению с оригинальной Conda.
Mamba делает всё, что ждут от продвинутого пакетного менеджера: ищет, ставит и обновляет пакеты прямо внутри ваших изолированных сред. Теперь можно легко создать отдельную среду под задачу, быстро переключаться между ними и больше не переживать за чистоту системы.
Зачем нужна Mamba?
Если вы давно пишете на Linux или другом UNIX-подобном дистрибутиве, у вас вполне может возникнуть резонный вопрос: а зачем вообще отдельный менеджер, если уже есть системный? Всё гораздо проще, чем кажется.
Большинство программ из стандартных репозиториев устанавливаются системе целиком — например, системный Python нужен для работы самого Linux. Но бывает, что конкретному проекту нужна более свежая версия Python или дополнительных библиотек, и если вы попробуете обновить системный Python — рискуете “сломать” что-нибудь важное.
APT против Snap и Flatpak: когда выбирать какой пакетный менеджер в Ubuntu?
В мире Linux всегда есть инструмент под любую задачу.
Вот тут-то и выручает Mamba: создаёте отдельную среду специально под ваш проект — и никакие другие программы не страдают. Для data science это просто находка — рабочие библиотеки всегда под рукой, но при этом основная система остаётся в порядке. Включили среду — поработали — выключили, и на компьютере всё как было.
Я не раз спасал свои проекты с помощью Mamba, особенно когда писал аналитику, например, для оценки цен на ноутбуки.
Как установить Mamba
Поставить Mamba на современный UNIX — проще простого, всё занимает лишь пару минут. Разберёмся на примере Debian Linux.
Достаточно просто скачать официальный минимальный дистрибутив Miniforge с сайта Mamba — это облегчённая версия для быстрого старта.
Если у вас уже есть curl, достаточно вставить одну строку в терминал — и загрузка пошла:

Архив скачали — запускаем установочный скрипт:

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

Можно ставить пакеты прямо в эту «base», но вся фишка Mamba как раз в другом: под каждую задачу есть отдельная среда, и они не мешают друг другу.
Создать новую изолированную среду — дело одной команды. Просто используйте «mamba create» c опцией «-n», указываете имя среды и нужные библиотеки.
Скажем, для анализа данных создаём среду «stats» с пакетами NumPy, SciPy и pandas:

Mamba сама разберётся со всеми зависимостями, попросит подтвердить установку — при этом всё ставится в вашу домашнюю, никаких sudo не надо.

Чтобы войти в новую среду, достаточно одной команды:

Теперь вместо «base» вас встречает «stats» — значит, сейчас вы работаете именно с этими библиотеками.
Проверьте сами: запускаете Python, импортируете NumPy — всё работает как часы!
Для примера — при вычислении 5/2 получаем 2.5, так и должно быть.
Добавление новых пакетов
Часто по ходу работы хочется добавить какой-либо инструмент. Например, я предпочитаю IPython вместо стандартной консоли Python. Тут есть два простых способа это сделать.
Линукс-терминал для новичков: устанавливаем и удаляем программы буквально за пару секунд
Будете себя чувствовать как гуру командной строки!
Можно сразу установить пакет в конкретную среду, выполнив такую команду:

Либо просто напишите «mamba install» внутри уже запущенной среды — всё окажется именно там. Подтвердили — готово, IPython доступен.
Теперь запускайте интерактивную оболочку — и вперед исследовать данные.
Закончили работать? Просто введите «mamba deactivate» — и ваша среда отключится. Если попробуете запустить IPython из системы — получите сообщение, что такого пакета больше нет: значит, установка была только для этой среды.
Чтобы найти нужную библиотеку, используйте «mamba search» или «mamba repoquery».
Хотите узнать, что есть из популярного для Jupyter? Пропишите нужный запрос, и Mamba выдаст вам всё, что ищете.
Обновление сред Mamba

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

Вместо опции «—all» можно использовать «—update-all», но первый вариант проще. Если всё уже свежее — обновлений просто не найдётся.
С помощью Mamba я делаю идеальные рабочие среды, мгновенно переключаюсь между проектами и обновляю их в пару кликов. Да, сначала может показаться странным — менеджер на менеджере… Но будьте уверены: ваши проекты наконец-то под настоящим контролем!
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Премиум подписка — это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!
Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь
Также подписывайтесь на нас в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru





