Оглавление
1. Как использовать Python определённой версии в Linux
2. Что такое Miniconda и Micromamba
4. Как установить Micromamba в Linux
4.1 Как установить Micromamba в Debian (Kali Linux, Linux Mint, Ubuntu)
4.2 Как установить Micromamba в Arch Linux (Manjaro, BlackArch)
5. Начало работы с Micromamba — как создать и использовать окружение с определённой версией Python
6. Работа с пакетами в окружении Micromamba
7. Использование pip внутри micromamba
8. Экспорт и воспроизведение окружения
9. Каналы окружения Conda (Miniconda / Micromamba)
10. Запуск команды без активации окружения
12. Практические советы по использованию Micromamba
13. Ошибки и решение проблем Micromamba
13.1 Ошибка OSError: [Errno 28] No space left on device
13.2 Ошибка error: [Errno 18] Invalid cross-device link
14. Как удалить Micromamba в Linux
14.1 Как удалить Micromamba в Debian (Kali Linux, Linux Mint, Ubuntu)
14.2 Как удалить Micromamba в Arch Linux (Manjaro, BlackArch)
1. Как использовать Python определённой версии в Linux
Если вам нужно быстро и без проблем создать виртуальное окружение с определённой версией Python, то данный мануал покажет как это сделать.
Определённая версия Python может быть зависимостью программного обеспечения, например, модели нейросетей (ИИ) иногда требуют конкретную версию Python. Если быть точнее, то Python указанной версии требуется зависимостями ПО необходимого для запуска нейросети, но сути это не меняет — необходимо получить исполнимые файлы Python той или иной версии.
Не будем рассматривать сложный вариант — компиляция разных версий Python из исходного кода. В этой инструкции будет показано как создать окружения с любой версией Python буквально несколькими командами.
Для этого отлично подходят Miniconda и Micromamba. В данной инструкции мы будем использовать Micromamba.
Смотрите также:
- Как создавать виртуальные окружения с любой версией Python (инструкция по использованию Miniconda)
- Как в Windows развернуть Python любой версии для запуска нейросетей (простой метод)
2. Что такое Miniconda и Micromamba
Miniconda и Micromamba — это инструменты для управления окружениями и пакетами (conda-экосистема).
Не смотря на общие буквы в названии, Miniconda и Micromamba это разные программы от разных производителей. На более продвинутом уровне использования эти инструменты имеют различия, но в рамках нужной нам функциональности — создать виртуального окружения Python с выбранной версией Python — эти программы являются аналогами.
Вы можете выбрать любую из них:
- Miniconda — появилась раньше, написана на Python из-за чего иногда может быть медленнее при разрешении зависимостей, но в показанных в этой инструкции примерах это не будет проявляться
- Micromamba — более современная альтернатива, написана на C++ и поэтому в некоторых сценариях разрешения зависимостей может быть быстрее, но в базовом использовании как показано в этой статье, это не будет проявляться.
Оба этих пакета отсутствуют в стандартных репозиториях Linux.
В общем, выберите любую из них — в базовых случаях использования разница между ними только в командах используемых для создания и активации виртуальных окружений Python.
Данная статья посвящена Micromamba.
Вам необязательно иметь сразу оба инструмента Miniconda и Micromamba — достаточно выбрать один из них. Но при желании вы можете установить их оба — они не конфликтуют друг с другом. Более того, созданное вами окружение Python в одной из этих программ может использоваться (активироваться, например) в том числе и в другой программе.
3. В чём разница между виртуальными окружениями Python (venv, virtualenv) и окружениями Conda (Miniconda / Micromamba)
Прежде чем продолжить, пара слов о том, зачем вообще нужны инструменты Miniconda и Micromamba и почему недостаточно обычных виртуальных окружений Python.
Стандартными инструментами Python можно создавать изолированные виртуальные окружения, например:
python -m venv venv source venv/bin/activate
В этих окружениях вы можете использовать pip для установки пакетов, которые будут видны только скриптам в этом окружении. Ограничение этого подхода — всё происходит в рамках одной версии Python — текущей системной версии. То есть у вас не получится произвольно выбрать версию Python при создании виртуального окружения. Конечно, есть вариант с компиляцией нужно версии из исходников, но мы рассматриваем более простые случаи использования. В качестве менеджера пакетов используется pip. То есть пакеты, которые можно установить как зависимости, это только только Python пакеты. По умолчанию файлы этих окружений хранятся в той же папке где и созданы (например ./venv).
Что касается виртуальных окружений Conda, то при его создании вы можете выбрать произвольную версию Python — это одна из важнейших их особенностей, которая делает их особенно полезной для запуска приложений зависящих от определённой версии Python. Внутри этого окружения вы можете устанавливать пакеты как с помощью pip, так и менеджерами пакетов conda/mamba. В качестве пакетов и зависимостей для виртуальных окружений conda / mamba могут быть как пакеты Python, так и любые другие (включая C/C++). То есть, например, вы можете установить определённые версии CUDA, PyTorch и других исполнимых файлов в это окружение. В целом эти окружения имеют более полную изоляцию и тяжелее по весу. По умолчанию файлы окружений хранятся более централизованно, но их тоже можно создать в конкретной папке проекта.
4. Как установить Micromamba в Linux
4.1 Как установить Micromamba в Debian (Kali Linux, Linux Mint, Ubuntu)
Выполните следующую команду
"${SHELL}" <(curl -L micro.mamba.pm/install.sh)
Вам будет задано несколько вопросов — можете все настройки оставить по умолчанию, то есть достаточно нажимать Enter.
Micromamba binary folder? [~/.local/bin] Init shell (zsh)? [Y/n] Configure conda-forge? [Y/n] Prefix location? [~/micromamba]
Затем закройте и откройте терминал, чтобы изменения вступили в силу.
После установки, micromamba может быть обновлена командой:
micromamba self-update
4.2 Как установить Micromamba в Arch Linux (Manjaro, BlackArch)
Для установки используйте pikaur:
pikaur -S micromamba-bin
Смотрите также: Автоматическая установка и обновление пакетов AUR
В Arch Linux эта команда установит Micromamba, но по умолчанию не будет модифицирован файл оболочки для автоматической инициализации Micromamba. То есть перед использованием Micromamba (перед созданием или активацией окружения), выполните команду:
eval "$(micromamba shell hook --shell bash)"
Эта команда имеет действие до закрытия терминала. Чтобы не делать это каждый раз, вы можете один раз выполнить следующую команду — она модифицирует файл с настройками оболочки:
micromamba shell init --shell bash --root-prefix=~/.local/share/mamba
5. Начало работы с Micromamba — как создать и использовать окружение с определённой версией Python
Пример создания окружения с Python версии 3.12 (нужно выполнить только один раз):
micromamba create -n myenv python=3.12 -y
Создание окружения с последней версий Python:
micromamba create -n test python -y
Создание окружения с одновременной установкой пакетов в Micromamba — это стандартный способ, он экономит время и избегает лишних пересборок зависимостей. Выше, выбирая версию Python, мы уже фактически создали окружение и сразу же установили Python. Можно указать любое количество пакетов для установки при создании окружения:
micromamba create -n myenv python=3.12 numpy pandas pytorch -c conda-forge -y
Далее пример создания окружения и одновременной установки пакетов с указанием нескольких каналов (важно для ML/ CUDA):
micromamba create -n ml-env python=3.11 pytorch torchvision pytorch-cuda=12.1 -c pytorch -c nvidia -c conda-forge -y
Для активации окружения выполните следующую команду (действует до закрытия терминала или до запуска команды выхода из окружения):
micromamba activate myenv
Проверка:
python --version which python
Для активации окружений которые находятся не в префиксе micromamba (~/.local/share/mamba), а в conda-префиксе, укажите полный путь до этого окружения, например:
micromamba activate /home/mial/.conda/envs/qwen3-asr
Деактивация окружения:
micromamba deactivate
Для вывода списка окружений:
micromamba env list
Удаление окружения:
micromamba remove -n myenv --all
6. Работа с пакетами в окружении Micromamba
Базовый поиск пакетов
micromamba search cuda
Поиск по каналу
micromamba search -c nvidia cuda
Поиск с фильтрацией по версии:
micromamba search "python=3.12"
Поиск с фильтрацией по имени (частичное совпадение):
micromamba search "*cuda*"
Установка пакетов в уже существующее окружение в активированном окружении
micromamba install numpy scipy
Установка пакетов в уже существующее окружение без его активации (через -n) — это часто удобнее в скриптах:
micromamba install -n myenv numpy scipy
Обновление пакетов в окружении Micromamba — обновить конкретный пакет:
micromamba update numpy
Обновить всё окружение:
micromamba update --all
Удаление пакетов:
micromamba remove numpy
Удаление пакетов с указанием окружения:
micromamba remove -n myenv numpy
Просмотр установленных пакетов
micromamba list
Просмотр установленных пакетов для конкретного окружения:
micromamba list -n myenv
7. Использование pip внутри micromamba
В окружении Conda (Miniconda / Micromamba) вы можете использовать pip как в обычном виртуальном окружении Python.
pip учитывает зависимости и имеет resolver, но работает локально и не пересобирает всё окружение, в отличие от micromamba, который решает задачу глобально. То есть в сложных случаях, а также при установке пакетов требующих компиляции micromamba может помочь решить проблему с зависимостями и консистентностью всего окружения. Поэтому если у вас что-то не получается с pip, то пробуйте установить пакеты с помощью micromamba.
Обычно pip уже предустановлен, но на всякий случай вы можете в этом убедиться:
micromamba install pip
Пример использования pip в окружении Conda (Miniconda / Micromamba):
pip install fastapi uvicorn
8. Экспорт и воспроизведение окружения
Экспорт окружения Conda (Miniconda / Micromamba) (аналог requirements.txt, но лучше):
micromamba env export -n myenv > environment.yml
Создание окружения из файла yml:
micromamba env create -f environment.yml
Что произойдёт:
- прочитается YAML
- создастся новое окружение
- установятся все зависимости
Чтобы узнать где сохранено новое окружение:
micromamba env list
В списке будет присутствовать myenv.
Активация нового окружения — можно сделать в любой папке:
micromamba activate myenv
Важные нюансы
1. Имя окружения берётся из файла:
name: myenv
Для изменения имени окружения:
micromamba env create -n NEW_NAME -f environment.yml
2. Если окружение уже существует
Команда env create не обновляет, а упадёт с ошибкой.
Для обновления существующего окружения:
micromamba env update -n myenv -f environment.yml
3. Часто лучше делать пересоздание окружения “с нуля”. Самый надёжный вариант:
micromamba remove -n myenv --all micromamba env create -f environment.yml
4. Если в environment.yml есть блок pip:, то перечисленные в нём пакеты автоматически устанавливаются через pip:
- pip:
- some-package
5. Каналы берутся из:
channels: - conda-forge
Если они не указаны, то используются каналы из .condarc.
Клонирование окружения — очень полезно для экспериментов:
micromamba create -n myenv-copy --clone myenv
9. Каналы окружения Conda (Miniconda / Micromamba)
Мы уже несколько раз упоминали каналы, остановимся на них поподробнее.
Канал – это просто репозиторий бинарных пакетов conda (аналог PyPI, но с уже собранными зависимостями).
Примеры:
- conda-forge – основной community-канал
- defaults – официальный канал Anaconda
- pytorch – пакеты PyTorch
- nvidia – CUDA и GPU-зависимости
Основные каналы, которые реально используются
1. conda-forge (де-факто стандарт)
- самый большой репозиторий
- свежие версии
- хорошая совместимость
- используется по умолчанию в micromamba
Практика: чаще всего использовать только его.
2. defaults
- поддерживается Anaconda
- более консервативные версии
- иногда несовместим с conda-forge
Обычно:
- либо defaults
- либо conda-forge
- не смешивать без необходимости
3. Специализированные каналы
3.1 pytorch
-c pytorch
Для:
- PyTorch
- torchvision
- torchaudio
3.2 nvidia
-c nvidia
Для:
- CUDA
- cuDNN
- GPU-ускорение
Добавление канала:
micromamba config append channels conda-forge
Посмотреть каналы:
micromamba config get channels
Приоритет каналов влияет на совместимость пакетов — это частая причина “адских” конфликтов.
10. Запуск команды без активации окружения
Запуск команды без активации окружения может быть полезно для скриптов, Cron и других похожих ситуаций:
micromamba run -n myenv python script.py
Или:
micromamba run -n myenv bash
11. Очистка кеша
Если начинаются странные конфликты или для экономии места:
micromamba clean --all
12. Практические советы по использованию Micromamba
1. При установке пакетов с использованием Micromamba, рекомендуется явно указывать канал для ML, иначе будут странные сборки:
-c conda-forge
2. Не нужно без необходимости смешивать каналы — плохой вариант: defaults + random + conda-forge
Хороший вариант: conda-forge (основной) + точечно pytorch / nvidia
3. Не нужно злоупотреблять pip — если пакет есть в conda, то лучше установить его через micromamba.
Минимальный “production-like” сценарий
# создать окружение micromamba create -n app python=3.12 -c conda-forge -y # установить зависимости micromamba install -n app fastapi uvicorn numpy # добить pip-пакетами micromamba run -n app pip install some-package # запуск micromamba run -n app python main.py
13. Ошибки и решение проблем Micromamba
13.1 Ошибка OSError: [Errno 28] No space left on device
При установке пакета
pip install -U qwen-asr qwen-asr[vllm]
Возникла ошибка:
OSError: [Errno 28] No space left on device
При этом и место на диске, и иноды присутствуют в достаточном количестве.
Смотрите также:
- Как исправить ошибку ‘No Space Left on Device’ (на устройстве не осталось места) на Linux, когда свободное место на самом деле есть
- Какие файлы можно удалить при нехватке места на диске Linux
- ncdu: графический интерфейс du чтобы быстро узнать, какие файлы и папки израсходовали место на диске
Суть проблемы в том, что в дистрибутивах Linux временная папка нередка размещена не на физическом диске, а в tmpfs (виртуальной файловой системе в оперативной памяти). И эта папка может быть переполнена файлами установочных пакетов, поскольку её размер меньше чем свободное место на диске — отсюда и возникает ошибка о нехватке места.
Смотрите также: Файловая система в оперативной памяти для ускорения работы с файлами и уменьшения нагрузки на диск (tmpfs)
Решение проблемы — сохранять временные файлы не в /tmp (которая размещена в оперативной памяти и которая меньше размера диска), а прямо на диске:
mkdir -p ~/pip-tmp TMPDIR=~/pip-tmp pip install -U qwen-asr qwen-asr[vllm]
Дополнительно я отключаю кеш, поскольку это иногда вызывает другую ошибку:
TMPDIR=~/pip-tmp pip install --no-cache-dir -U qwen-asr qwen-asr[vllm]
13.2 Ошибка error: [Errno 18] Invalid cross-device link
При установке пакета, например, следующей командой:
pip install -U flash-attn --no-build-isolation
Может возникнуть ошибка:
Raw wheel path /home/mial/.cache/pip/wheels/3d/59/46/f282c12c73dd4bb3c2e3fe199f1a0d0f8cec06df0cccfeee27/tmpj98ktnfb/.tmp-fya5_alf/flash_attn-2.8.3-cp312-cp312-linux_x86_64.whl error: [Errno 18] Invalid cross-device link: 'flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp312-cp312-linux_x86_64.whl' -> '/home/mial/.cache/pip/wheels/3d/59/46/f282c12c73dd4bb3c2e3fe199f1a0d0f8cec06df0cccfeee27/tmpj98ktnfb/.tmp-fya5_alf/flash_attn-2.8.3-cp312-cp312-linux_x86_64.whl' [end of output]
Ключевой строкой в ней является «error: [Errno 18] Invalid cross-device link».
Это ошибка POSIX уровня файловой системы. Она возникает, когда операция rename() (или hardlink) пытается переместить файл между разными файловыми системами (точками монтирования).
pip скачивает или собирает wheel, используя временные директории (обычно /tmp). Затем он перемещает файлы (через rename) либо в cache (~/.cache/pip), либо в целевое окружение. Если эти директории находятся на разных файловых системах, возникает ошибка Invalid cross-device link.
Для решения этой проблемы выберите любой из способов
1) Использование диска для временных файлов:
mkdir -p ~/pip-tmp TMPDIR=~/pip-tmp pip install -U flash-attn --no-build-isolation
2) Отключить использование кеша в pip:
pip install -U flash-attn --no-cache-dir --no-build-isolation
14. Как удалить Micromamba в Linux
14.1 Как удалить Micromamba в Debian (Kali Linux, Linux Mint, Ubuntu)
В операционной системе Micromamba имеет один исполнимый файл и несколько директорий и файлов с настройками. Чтобы узнать расположение конфигурационных файлов и папок выполните команду
micromamba info
Это покажет вам важную информацию, такую как:
- envs directories: где хранятся ваши среды
- package cache: где кешируются загруженные пакеты
- user config files: расположение вашего файла .mambarc
- populated config files: расположение вашего файла .condarc
- root prefix (в последних версиях это называют base environment): базовый каталог для micromamba (обычно указывается как родительский каталог первого каталога envs)
Используйте эти пути, чтобы адаптировать приведённые ниже команды к вашей конкретной установке.
1. Если вы инициализировали свою оболочку с помощью команды
micromamba shell init
то вам необходимо удалить код инициализации из файлов конфигурации оболочки. Выполните следующую команду для каждой инициализированной оболочки:
micromamba shell deinit -s bash # для bash micromamba shell deinit -s zsh # для zsh micromamba shell deinit -s fish # для fish micromamba shell deinit -s xonsh # для xonsh micromamba shell deinit -s csh # для csh/tcsh micromamba shell deinit -s nu # для nushell
Это удалит блок инициализации Mamba из файлов конфигурации вашей оболочки (.bashrc, .zshrc, config.fish и т. д.).
2. Расположение исполняемого файла micromamba зависит от способа установки:
Автоматический скрипт установки: исполняемый файл обычно устанавливается в ~/.local/bin/micromamba, для его удаления выполните команду:
rm ~/.local/bin/micromamba
3. Micromamba хранит все среды, пакеты и кеш в определённых каталогах. Выше дана команда как узнать конкретные пути в вашей системе. Если вы использовали настройки и пути по умолчанию, то достаточно выполнить следующую команду для удаления директорий Micromamba:
rm -rf ~/micromamba
Если вы использовали пользовательское расположение (проверьте через micromamba info):
rm -rf /path/to/your/custom/root/prefix
В micromamba info обратите внимание на расположение кеша — он может быть как внутри уже удалённой ~/micromamba, так и в пользовательском расположении — если это так, то удалите его отдельной командой (измените путь до кеша в вашей системе):
Внимание: это приведёт к удалению всех окружений, установленных пакетов и кэшированных данных. Перед удалением этой директории обязательно создайте резервные копии всех важных окружений и данных.
4. В micromamba info найдите информацию о конфигурационных файлах:
- user config files показывает расположение .mambarc
- populated config files показывает расположение .condarc
При желании вы можете удалить эти файлы если они существуют, их расположение по умолчанию:
rm ~/.mambarc rm ~/.condarc
После завершения этих шагов Micromamba будет полностью удалена из вашей операционной системы.
14.2 Как удалить Micromamba в Arch Linux (Manjaro, BlackArch)
Для удаления используйте pikaur:
pikaur -R micromamba-bin
Вы также можете вручную проверить и удалить оставшиеся файлы окружений, кешей и прочего как это показано выше.
Связанные статьи:
- Как создавать виртуальные окружения с любой версией Python (инструкция по использованию Miniconda) (100%)
- Как запустить небольшой код Python в Bash (50%)
- Как очистить список в Python. Почему при очистке списка удаляются его копии в других переменных (50%)
- Как запустить программу из Python: как выполнить системную команду или другой скрипт Python (полное руководство) (50%)
- Как добавить префикс «b» к имени переменной в Python? (50%)
- 20 примеров команд yum для управления пакетами (RANDOM - 0.8%)

