Удаление среды Conda

Я хочу удалить определенную среду, созданную с помощью conda. Как я могу это достичь? Скажем, у меня есть активная среда testenv. Я попытался, следуя документации, с:

$ conda env remove

CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again

Затем я деактивирую его:

$ source deactivate

Я попробую снова запустить команду, чтобы удалить его, и я все равно получаю ту же ошибку. Что здесь происходит?

Ответы

Ответ 1

Вы, вероятно, не полностью деактивировали среду Conda - помните, команда, которую вы должны использовать с Conda, - это conda deactivate (для более старых версий используйте source deactivate). Поэтому может быть целесообразно запустить новую оболочку и активировать среду в ней, прежде чем пытаться. Затем отключите его.

Вы можете использовать команду

conda env remove -n ENV_NAME

удалить среду с этим именем. (--name эквивалентен -n)

Обратите внимание, что вы также можете размещать среды в любом месте, где хотите, используя -p/path/to/env вместо -n ENV_NAME при создании и удалении сред, если вы выберете. Они не должны жить в вашей установке Конда.

ОБНОВЛЕНИЕ, 30 января 2019 года: начиная с conda activate 4.6 и далее, команда conda activate становится новым официальным способом активации среды на всех платформах. Изменения описаны в этом посте в блоге Anaconda

Ответ 2

Убедившись, что ваша среда неактивна, введите:

$ conda env remove --name ENVIRONMENT

Ответ 3

Официальная документация у меня сработала так:

conda remove --name myenv --all

Или просто conda env remove --name myenv.

Чтобы убедиться, что среда была удалена, в окне терминала или в подсказке Anaconda выполните:

conda info --envs

Отображаемый список сред не должен отображать удаленную среду.

Ваша папка окружения anaconda3 может содержать пустую папку удаленной среды в вашей установочной папке anaconda3, например:

/opt/anaconda3/envs

Ответ 4

Сначала вы должны деактивировать свою среду перед ее удалением. Вы можете удалить среду conda, используя следующую команду

Предположим, что ваша среда называется "sample_env", вы можете удалить эту среду, используя

source deactivate    
conda remove -n sample_env --all

"--all" будет использоваться для удаления всех зависимостей

Ответ 5

Имя моей среды: test

conda remove -n test --all

Ответ 6

Используйте source deactivate деактивации source deactivate чтобы деактивировать среду перед ее удалением, замените ENV_NAME средой, которую вы хотите удалить:

source deactivate
conda env remove -n ENV_NAME

Ответ 7

Среды, созданные с --prefix или -p должны быть удалены с флагом -p (не -n).

Например: conda remove -p </filepath/myenvironment> --all, в котором </filepath/myenvironment> заменяется полным или относительным путем к среде.

Ответ 8

Сначала отключите среду и вернитесь к базовой среде. Из базы вы сможете выполнить команду conda env remove -n <envname>. Это даст вам сообщение

Remove all packages in environment C:\Users\<username>\AppData\Local\Continuum\anaconda3\envs\{envname}:

Ответ 9

Всего есть 3 способа добиться этого. Предполагая, что у вас есть среда с именем myenv,

  1. conda env remove --name myenv, -n - это ярлык для --name.

  2. conda remove --name myenv --all.

  3. Удалите папку env напрямую. (Не рекомендуется)

    # list environments and their locations
    conda env list
    # or
    # conda info --envs
    
    # delete the folder listed
    rm -rf /Users/username/.local/share/conda/envs/myenv
    

Если вы хотите удалить среду без запроса, чтобы вы могли проверить снова. Используйте -y, ярлык для --yes. (Для глобального использования проверьте молчание в conda)

conda env remove -n myenv -y
conda remove -n myenv --all -y

Ссылки

  • conda env --help
  • conda remove --help

Ответ 10

Конда деактивировать Конда удалить -n --all