Usuwanie środowiska Conda

224

Chcę usunąć określone środowisko utworzone za pomocą conda. Jak mogę to osiągnąć? Powiedzmy, że mam aktywne środowisko testenv. Próbowałem, korzystając z następującej dokumentacji , z:

$ conda env remove

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

Następnie dezaktywuję:

$ source deactivate

Próbuję ponownie uruchomić polecenie, aby je usunąć i nadal pojawia się ten sam błąd. Co tu idzie nie tak?

Renato Damas
źródło
2
Upewnij się, że używasz terminala jako administrator, w przeciwnym razie polecenia będą działać poprawnie bez zgłaszania błędów, ale środowisko env nie zostanie usunięte.
सत्यमेव जयते

Odpowiedzi:

310

Prawdopodobnie w pełni nie dezaktywowałeś środowiska Conda - pamiętaj, że polecenie, którego musisz użyć z Condą to conda deactivate(w przypadku starszych wersji użyj source deactivate). Warto więc uruchomić nową powłokę i aktywować w niej środowisko, zanim spróbujesz. Następnie wyłącz.

Możesz użyć polecenia

conda env remove -n ENV_NAME

aby usunąć środowisko o tej nazwie. ( --namejest równoważne -n)

Pamiętaj, że możesz także umieszczać środowiska w dowolnym miejscu, z którego chcesz korzystać -p /path/to/envzamiast -n ENV_NAMEpodczas tworzenia i usuwania środowisk, jeśli chcesz. Nie muszą żyć w twojej instalacji conda.

AKTUALIZACJA, 30 stycznia 2019 r . : od Conda 4.6 conda activatepolecenie staje się nowym oficjalnym sposobem aktywacji środowiska na wszystkich platformach. Zmiany opisano w tym poście na blogu Anaconda

Holdenweb
źródło
Masz rację, mój błąd podczas pisania postu. Miałem na myśli source deactivate. Dziękuję
Renato Damas
4
Właściwie możesz także użyć conda deactivatei to działa podobnie. Przynajmniej w wersji 4.4.11
Renato Damas
Dzięki. Ale nie tylko deactivatesamodzielnie, prawda?
holdenweb
Tak, albo source deactivatealboconda deactivate
Renato Damas
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924
68

Po upewnieniu się, że środowisko nie jest aktywne, wpisz:

$ conda env remove --name ENVIRONMENT
Renato Damas
źródło
3
To jest informacja, której potrzebowałem. Byłoby miło, gdyby conda env --helpto dał.
R. Schreurs
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924
1
Złożyłem błąd dotyczący niepowodzenia aktualizacji tekstu pomocy i został oznaczony jako łatwy problem dla początkujących, więc jest nadzieja na naprawę.
holdenweb
28

Oficjalny sposób dokumentacji zadziałał dla mnie:

conda remove --name myenv --all

Lub po prostu conda env remove --name myenv.

Aby sprawdzić, czy środowisko zostało usunięte, w oknie terminala lub w wierszu Anaconda uruchom:

conda info --envs

Wyświetlona lista środowisk nie powinna pokazywać usuniętego środowiska.

Twój folder środowiska anaconda3 może wyświetlać pusty folder usuniętego środowiska w folderze instalacyjnym anaconda3, na przykład:

/opt/anaconda3/envs
Harvey
źródło
19

Istnieją w sumie 3 sposoby na osiągnięcie tego. Zakładając, że masz środowisko o nazwie myenv,

  1. conda env remove --name myenv, -nJest skrót dla --name.

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

  3. Usuń bezpośrednio folder env. (Niepolecane)

    # 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

Jeśli chcesz usunąć środowisko bez monitu o ponowne sprawdzenie. Użyj -yskrótu do --yes. (W przypadku użycia globalnego sprawdź cichy monit w Conda )

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

Bibliografia

  • conda env --help
  • conda remove --help
Simba
źródło
1
I dlaczego bezpośrednie usunięcie folderu env nie jest zalecane? Co może pójść nie tak?
NoName
14

Możesz spróbować wykonać następujące czynności: Otwórz wiersz polecenia anakonda i wpisz

conda remove --name myenv --all

Spowoduje to usunięcie całego środowiska.

Dalsza lektura: docs.conda.io> Zarządzaj środowiskami

Muhamad Mohsin
źródło
13

Najpierw musisz dezaktywować swoje środowisko przed jego usunięciem. Możesz usunąć środowisko conda za pomocą następującego polecenia

Załóżmy, że nazwa twojego środowiska to „sample_env”, możesz usunąć to środowisko za pomocą

source deactivate    
conda remove -n sample_env --all

„--all” zostanie użyte do usunięcia wszystkich zależności

srilekha palepu - Intel
źródło
13

Środowiska utworzone za pomocą flagi --prefixlub -pnależy usunąć za pomocą -pflagi ( nie -n ).

Na przykład:, conda remove -p </filepath/myenvironment> --allw którym </filepath/myenvironment>jest zastąpiony pełną lub względną ścieżką do środowiska.

Chris Keefe
źródło
1
Nazwa mojego środowiska zawiera spację, podobnie jak moja env . Ta metoda conda env remove -p path/to/my\ envdziałała, conda env remove -n my\ enva conda env remove -n "my env"nie działała .
Ben
11

Moje środowisko to: test

conda remove -n test --all
CodeUrLife
źródło
8

Użyj, source deactivateaby dezaktywować środowisko przed jego usunięciem, zamień ENV_NAME na środowisko, które chcesz usunąć:

source deactivate
conda env remove -n ENV_NAME
Jason
źródło
7
Wyjaśnienie, co robi kod i jak rozwiązuje problem w pytaniu, rzadko nie poprawia odpowiedzi.
MBT
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENV_NAME
user924
7

Najpierw dezaktywuj środowisko i wróć do środowiska podstawowego. Z bazy powinieneś być w stanie uruchomić polecenie conda env remove -n <envname>. To da ci wiadomość

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

Srini
źródło
5

jeśli jesteś w bazie :

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

usuń env_name przez:

conda env remove -n env_name

jeśli jesteś już w środowisku env_name :

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

dezaktywuj, a następnie usuń przez:

conda deactivate env_name

conda env remove -n env_name
Shilpa Shinde
źródło
4

To działało dla mnie:

conda env remove --name tensorflow
Arman Samimi
źródło
Pracowałem też dla mnie. conda env remove --name <name of your environment> Później możesz usunąć folder środowiska z lokalizacji instalacji Anaconda lub Miniconda Anaconda\envs\<name of your environment>lubMiniconda\envs\<name of your environment>
Giriraj Pawar
1

Aby usunąć pełne środowisko Conda:

conda remove --name YOUR_CONDA_ENV_NAME - wszystkie

Bhadru Bhukya
źródło