2026, Jan 13 06:02
Miniforge на Windows 11: как починить активацию conda и mamba
На Windows 11 Miniforge Prompt открывается без (base), а активация conda/mamba ломается. Причина — релиз 25.3.0; решение: обновить conda до 25.3.1. Пошагово.
На свежей установке Windows 11 с Miniforge 25.3.0-1 многие разработчики заметили, что Miniforge Prompt открывается без ожидаемого префикса (base), а активация окружений ведёт себя странно. Создание окружений либо заканчивалось сообщением «Empty environment», либо пакеты ставились успешно, но окружение всё равно не активировалось. Если вы столкнулись с тем же, это руководство объясняет, что происходит и как аккуратно всё исправить.
Как воспроизвести проблему
Открытие Miniforge Prompt не показывает префикс (base). Попытка создать новое окружение без указания Python сообщает о пустом окружении:
mamba create --name play_env
# Вывод (пример):
Empty environment created at prefix: C:\Users\Name\miniforge3\envs\play_env
Добавление Python к команде создания, похоже, создаёт рабочее окружение:
mamba create --name play_env python
# Далее следует привычная подсказка, например: "mamba activate play_env"
Но активация завершается ошибкой инициализации оболочки:
mamba activate play_env
# Вывод:
critical libmamba Shell not initialized
'mamba' is running as a subprocess and cannot modify the parent shell.
Thus you must initialize your shell before using activate and deactivate.
To automatically initialize all future (cmd.exe) shells, run:
$ mamba shell init --shell cmd.exe --root-prefix=~/.local/share/mamba
If your shell was already initialized, reinitialize your shell with:
$ mamba shell reinit --shell cmd.exe
Otherwise, this may be an issue. In the meantime you can run commands. See:
$ mamba run --help
Supported shells are {bash, zsh, csh, posix, xonsh, cmd.exe, powershell, fish, nu}.
Попытка использовать conda вместо mamba для активации ничего не меняет:
conda activate play_env
# Никакого визуального эффекта, в приглашении не появляется (play_env)
Если последовать подсказке и инициализировать оболочку:
mamba shell init --shell cmd.exe --root-prefix=~/.local/share/mamba
затем открыть приглашение заново, можно увидеть префикс пути вроде:
(C:\Users\Name\miniforge3)
но попытки активировать по‑прежнему ломаются, указывая на отсутствующий префикс:
mamba activate play_env
# Вывод:
critical libmamba Cannot activate, prefix does not exist at: 'C:\Users\Name\.local\share\mamba\envs\play_env'
В чём на самом деле проблема
Отсутствующий индикатор окружения и некорректная активация связаны с самой conda в этой линии релиза. Обновление conda с 25.3.0 до 25.3.1 возвращает ожидаемое поведение приглашения и активации окружений. Более ранняя сборка Miniforge (25.1.1-2) тоже вела себя корректно, что намекало на недавнюю регрессию.
Решение: обновить conda
Минимальное и точечное исправление — обновить conda. После этого приглашение корректно отображает окружение, а активация работает как надо.
conda update conda
После обновления откройте новое окно Miniforge Prompt и работайте как обычно. Окружение можно создавать без пакетов (это даст пустой префикс) или явно с Python — по потребности. Теперь активация должна отображаться в приглашении, как обычно.
Чистый пример: после исправления
Теперь тот же процесс должен вести себя предсказуемо.
# Создайте окружение с Python
mamba create --name play_env python
# Активируйте его
mamba activate play_env
# Либо с помощью conda
conda activate play_env
Если предпочитаете пустое окружение, создайте его без пакетов, а установку выполните позже:
mamba create --name play_env
mamba activate play_env
mamba install python
Почему это важно
Понимание активного окружения — основа воспроизводимости и безопасности. Если приглашение не показывает активный префикс, легко установить пакеты не туда — в другое окружение или в base, засорив зависимости или сломав инструменты. Для команд и CI, опирающихся на семантику conda/mamba, корректность активации — базовое требование.
Выводы и практические советы
Если Miniforge Prompt в Windows 11 открывается без (base) или активация будто бы ничего не делает, сначала проверьте версию conda и обновите её. Предпочитайте самое простое решение: выполните conda update conda и перезапустите окно. Если вы настраиваете новые машины или готовите внутренние инструкции, добавьте этот шаг обновления в начало чек‑листа, чтобы избежать лишних проблем. В качестве временного обходного пути можно использовать проверенный релиз Miniforge, например 25.1.1-2, — это соответствует наблюдаемому поведению, но прямое обновление — более чистое решение. Поддержание менеджера пакетов в здоровом состоянии обычно экономит время при управлении окружениями в разных проектах.
Когда активация снова работает штатно и приглашение показывает активное окружение, можно вновь полагаться на рабочие процессы conda/mamba и сосредоточиться на деле: сборке, тестировании и поставке предсказуемых Python‑окружений.