Rimozione dell'ambiente Conda


225

Voglio rimuovere un determinato ambiente creato con conda. Come posso raggiungerlo? Diciamo che ho un ambiente testenv attivo. Ho provato, seguendo la documentazione , con:

$ conda env remove

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

Quindi lo disattivo:

$ source deactivate

Provo a eseguire nuovamente il comando per rimuoverlo e continuo a ricevere lo stesso errore. Cosa non va qui?


2
Assicurati di eseguire il terminale come amministratore, altrimenti i comandi verranno eseguiti correttamente senza generare alcun errore ma env non verrà rimosso.
यमेव्यमेव जयते

Risposte:


310

Probabilmente non hai disattivato completamente l'ambiente Conda - ricorda, il comando che devi usare con Conda è conda deactivate(per le versioni precedenti, usa source deactivate). Quindi potrebbe essere saggio avviare una nuova shell e attivare l'ambiente prima di provare. Quindi disattivalo.

Puoi usare il comando

conda env remove -n ENV_NAME

per rimuovere l'ambiente con quel nome. ( --nameè equivalente a -n)

Tieni presente che puoi anche posizionare gli ambienti ovunque tu voglia utilizzare -p /path/to/envinvece che -n ENV_NAMEdurante la creazione e l'eliminazione di ambienti, se lo desideri. Non devono vivere nella tua installazione di conda.

AGGIORNAMENTO, 30 gennaio 2019 : da Conda 4.6 in poi il conda activatecomando diventa il nuovo modo ufficiale per attivare un ambiente su tutte le piattaforme. Le modifiche sono descritte in questo post sul blog Anaconda


Hai ragione, errore mio quando scrivo il post. Intendevo source deactivate. Grazie
Renato Damas il

4
In realtà puoi anche usare conda deactivatee funziona allo stesso modo. Almeno nella versione 4.4.11
Renato Damas il

Grazie. Ma non solo deactivate, vero?
holdenweb

Sì, source deactivateoppureconda deactivate
Renato Damas,

EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924

68

Dopo aver verificato che l'ambiente non sia attivo, digitare:

$ conda env remove --name ENVIRONMENT

3
Questa è l'informazione di cui avevo bisogno. Sarebbe stato carino se l' conda env --helpavesse dato.
R. Schreurs,

EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924

1
Ho inviato un bug relativo agli errori nell'aggiornamento del testo della guida ed è stato contrassegnato come un problema facile per i principianti, quindi c'è speranza di una soluzione.
holdenweb,

28

La documentazione ufficiale ha funzionato per me:

conda remove --name myenv --all

O semplicemente conda env remove --name myenv .

Per verificare che l'ambiente sia stato rimosso, nella finestra del terminale o in un prompt Anaconda, eseguire:

conda info --envs

L'elenco degli ambienti visualizzato non deve mostrare l'ambiente rimosso.

La cartella degli ambienti anaconda3 potrebbe elencare una cartella vuota dell'ambiente eliminato nella cartella di installazione di anaconda3, come:

/opt/anaconda3/envs

19

Ci sono 3 modi per raggiungere questo obiettivo in totale. Supponendo che tu abbia un ambiente chiamato myenv,

  1. conda env remove --name myenv, -nè una scorciatoia per --name.

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

  3. Elimina direttamente la cartella env. (Non consigliato)

    # 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 si desidera eliminare l'ambiente senza una richiesta per consentire di ricontrollare. Usa -y, scorciatoia per --yes. (Per un uso globale, controllare la richiesta silenziosa in conda )

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

Riferimenti

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

1
E perché non è consigliabile eliminare direttamente la cartella env? Che cosa potrebbe andare storto?
NoName,


13

Per prima cosa devi disattivare il tuo ambiente prima di rimuoverlo. Puoi rimuovere l'ambiente conda usando il seguente comando

Supponiamo che il nome del tuo ambiente sia "sample_env", puoi rimuovere questo ambiente usando

source deactivate    
conda remove -n sample_env --all

'--all' verrà usato per rimuovere tutte le dipendenze


13

Gli ambienti creati con il flag --prefixo -pdevono essere rimossi con il -pflag ( no -n ).

Ad esempio:, conda remove -p </filepath/myenvironment> --allin cui </filepath/myenvironment>viene sostituito con un percorso completo o relativo all'ambiente.


1
Il nome del mio ambiente includeva uno spazio, come il mio env . Questo metodo, conda env remove -p path/to/my\ envha funzionato mentre conda env remove -n my\ enve conda env remove -n "my env"non ha fatto.
Ben


8

Utilizzare source deactivateper disattivare l'ambiente prima di rimuoverlo, sostituire ENV_NAME con l'ambiente che si desidera rimuovere:

source deactivate
conda env remove -n ENV_NAME

7
Una spiegazione, cosa fa un codice e come risolve il problema nella domanda, raramente non riesce a migliorare una risposta.
MBT

EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENV_NAME
user924

7

Per prima cosa disattiva l'ambiente e torna all'ambiente di base. Dalla base, dovresti essere in grado di eseguire il comando conda env remove -n <envname>. Questo ti darà il messaggio

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


6

se sei nella base :

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

rimuovere env_name da:

conda env remove -n env_name

se sei già in un ambiente env_name :

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

disattivare quindi rimuovere da:

conda deactivate env_name

conda env remove -n env_name

4

Questo ha funzionato per me:

conda env remove --name tensorflow

Ha funzionato anche per me. conda env remove --name <name of your environment> Successivamente è possibile eliminare la cartella di ambiente dalla posizione di installazione di Anaconda o miniconda Anaconda\envs\<name of your environment>oMiniconda\envs\<name of your environment>
Giriraj Pawar il

1

Per rimuovere l'ambiente conda completo:

conda remove --name YOUR_CONDA_ENV_NAME - all


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.