Removendo o ambiente Conda

223

Quero remover um determinado ambiente criado com o conda. Como posso conseguir isso? Digamos que eu tenha um ambiente de teste ativo. Tentei, seguindo a documentação , com:

$ conda env remove

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

Eu então desativo:

$ source deactivate

Tento executar novamente o comando para removê-lo e ainda recebo o mesmo erro. o que há de errado aqui?

Renato Damas
fonte
2
Verifique se você está executando o terminal como administrador, caso contrário, os comandos serão executados com sucesso sem gerar nenhum erro, mas o env não será removido.
सत्यमेव जयते

Respostas:

308

Você provavelmente não desativou completamente o ambiente Conda - lembre-se, o comando que você precisa usar com o Conda é conda deactivate(para versões mais antigas, use source deactivate). Portanto, pode ser aconselhável iniciar um novo shell e ativar o ambiente antes de tentar. Em seguida, desative-o.

Você pode usar o comando

conda env remove -n ENV_NAME

para remover o ambiente com esse nome. ( --nameé equivalente a -n)

Observe que você também pode colocar os ambientes em qualquer lugar que desejar, em -p /path/to/envvez de -n ENV_NAMEcriar e excluir ambientes, se desejar. Eles não precisam morar na sua instalação conda.

ATUALIZAÇÃO, 30 Jan 2019 : A partir do Conda 4.6, o conda activatecomando se torna a nova maneira oficial de ativar um ambiente em todas as plataformas. As mudanças são descritas nesta postagem no blog da Anaconda

holdenweb
fonte
Você está certo, meu erro ao escrever o post. Eu quis dizer source deactivate. Obrigado
Renato Damas
4
Na verdade, você pode usar conda deactivatetambém e funciona da mesma forma. Pelo menos na versão 4.4.11
Renato Damas
Obrigado. Mas não apenas deactivatepor si só, certo?
holdenweb
Sim, source deactivateouconda deactivate
Renato Damas
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924
68

Depois de verificar se o seu ambiente não está ativo, digite:

$ conda env remove --name ENVIRONMENT
Renato Damas
fonte
3
Esta é a informação que eu precisava. Teria sido bom se conda env --helptivesse dado.
R. Schreurs
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924
1
Enviei um bug sobre falhas na atualização do texto de ajuda, e ele foi marcado como um problema fácil para iniciantes, por isso há esperança de uma correção.
holdenweb
28

Documentação oficial maneira funcionou para mim:

conda remove --name myenv --all

Ou apenas conda env remove --name myenv.

Para verificar se o ambiente foi removido, na janela do terminal ou no prompt do Anaconda, execute:

conda info --envs

A lista de ambientes exibida não deve mostrar o ambiente removido.

A pasta de ambientes anaconda3 pode listar uma pasta vazia do ambiente excluído na pasta de instalação do anaconda3, como:

/opt/anaconda3/envs
Harvey
fonte
19

Existem três maneiras de conseguir isso no total. Supondo que você tenha um ambiente chamado myenv,

  1. conda env remove --name myenv, -né um atalho para --name.

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

  3. Exclua a pasta env diretamente. (Não recomendado)

    # 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
    

Se você deseja excluir o ambiente sem um prompt para permitir a verificação novamente. Use -y, atalho para --yes. (Para uso global, verifique o prompt silencioso em conda )

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

Referências

  • conda env --help
  • conda remove --help
Simba
fonte
1
E por que a exclusão direta da pasta env não é recomendada? O que poderia dar errado?
NoName 13/06
14

Você pode tentar o seguinte: Abra o prompt de comando anaconda e digite

conda remove --name myenv --all

Isso removerá todo o ambiente.

Outras leituras: docs.conda.io> Gerenciar ambientes

Muhamad Mohsin
fonte
13

Primeiro você precisa desativar seu ambiente antes de removê-lo. Você pode remover o ambiente conda usando o seguinte comando

Suponha que o nome do seu ambiente seja "sample_env", você pode remover esse ambiente usando

source deactivate    
conda remove -n sample_env --all

'--all' será usado para remover todas as dependências

srilekha palepu - Intel
fonte
13

Os ambientes criados com o sinalizador --prefixou -pdevem ser removidos com o -psinalizador ( não -n ).

Por exemplo:, conda remove -p </filepath/myenvironment> --allno qual </filepath/myenvironment>é substituído por um caminho completo ou relativo ao ambiente.

Chris Keefe
fonte
1
Meu nome de ambiente incluía um espaço, como meu env . Este método conda env remove -p path/to/my\ envfuncionou enquanto conda env remove -n my\ enve conda env remove -n "my env"não funcionou .
Ben
11

Meu nome do ambiente é: teste

conda remove -n test --all
CodeUrLife
fonte
8

Use source deactivatepara desativar o ambiente antes de removê-lo, substitua ENV_NAME pelo ambiente que você deseja remover:

source deactivate
conda env remove -n ENV_NAME
Jason
fonte
7
Uma explicação, o que um código faz e como isso soluciona o problema na pergunta, raramente falha em melhorar uma resposta.
MBT 10/11
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENV_NAME
user924
7

Primeiro desative o ambiente e volte ao ambiente base. Na base, você deve poder executar o comando conda env remove -n <envname>. Isso lhe dará a mensagem

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

Srini
fonte
5

se você estiver na base :

(base) HP-Compaq-Elite-8300-CMT:~$ 

remova env_name por:

conda env remove -n env_name

se você já estiver no ambiente env_name :

(env_name) HP-Compaq-Elite-8300-CMT:~$ 

desativar e remover por:

conda deactivate env_name

conda env remove -n env_name
Shilpa Shinde
fonte
4

Isso funcionou para mim:

conda env remove --name tensorflow
Arman Samimi
fonte
Trabalhou para mim também. conda env remove --name <name of your environment> Mais tarde, você pode excluir a pasta do ambiente do Anaconda ou do local de instalação do miniconda Anaconda\envs\<name of your environment>ouMiniconda\envs\<name of your environment>
Giriraj Pawar
1

Para remover o ambiente conda completo:

conda remove --name YOUR_CONDA_ENV_NAME --todos

Bhadru Bhukya
fonte