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‑окружений.