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?


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


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

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

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

1
I dlaczego bezpośrednie usunięcie folderu env nie jest zalecane? Co może pójść nie tak?
NoName


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


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.


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


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

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}:


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

4

To działało dla mnie:

conda env remove --name tensorflow

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


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.