Menghapus lingkungan Conda

223

Saya ingin menghapus lingkungan tertentu yang dibuat dengan conda. Bagaimana saya bisa mencapainya? Katakanlah saya memiliki lingkungan testenv aktif. Saya mencoba, dengan mengikuti dokumentasi , dengan:

$ conda env remove

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

Saya kemudian menonaktifkannya:

$ source deactivate

Saya mencoba menjalankan lagi perintah untuk menghapusnya dan saya masih mendapatkan kesalahan yang sama. Apa yang salah di sini?

Renato Damas
sumber
2
Pastikan Anda menjalankan terminal sebagai administrator jika tidak, perintah akan berhasil dijalankan tanpa menimbulkan kesalahan apa pun tetapi env tidak akan dihapus.
सत्यमेव जयते

Jawaban:

308

Anda mungkin tidak sepenuhnya menonaktifkan lingkungan Conda - ingat, perintah yang perlu Anda gunakan dengan Conda adalah conda deactivate(untuk versi yang lebih lama, gunakan source deactivate). Jadi mungkin bijaksana untuk memulai shell baru dan mengaktifkan lingkungan di dalamnya sebelum Anda mencoba. Kemudian nonaktifkan.

Anda bisa menggunakan perintah

conda env remove -n ENV_NAME

untuk menghapus lingkungan dengan nama itu. ( --namesetara dengan -n)

Perhatikan bahwa Anda juga dapat menempatkan lingkungan di mana saja yang ingin Anda gunakan -p /path/to/envalih-alih -n ENV_NAMEsaat membuat dan menghapus lingkungan, jika Anda memilih. Mereka tidak harus tinggal di instalasi conda Anda.

UPDATE, 30 Jan 2019 : Dari Conda 4.6 dan selanjutnya conda activateperintah menjadi cara resmi baru untuk mengaktifkan lingkungan di semua platform. Perubahan dijelaskan dalam posting blog Anaconda ini

holdenweb
sumber
Anda benar, kesalahan saya saat menulis posting. Maksud saya source deactivate. Terima kasih
Renato Damas
4
Sebenarnya Anda bisa menggunakan conda deactivatejuga dan berfungsi juga. Setidaknya dalam versi 4.4.11
Renato Damas
Terima kasih. Tapi bukan hanya deactivatesendirian, bukan?
holdenweb
Ya, salah satu source deactivateatauconda deactivate
Renato Damas
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924
68

Setelah memastikan lingkungan Anda tidak aktif, ketikkan:

$ conda env remove --name ENVIRONMENT
Renato Damas
sumber
3
Ini adalah informasi yang saya butuhkan. Pasti menyenangkan jika conda env --helptelah memberikannya.
R. Schreurs
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924
1
Saya mengirimkan bug tentang kegagalan untuk memperbarui teks bantuan, dan itu ditandai sebagai masalah yang mudah bagi pemula, jadi ada harapan untuk memperbaikinya.
holdenweb
28

Cara dokumentasi resmi bekerja untuk saya:

conda remove --name myenv --all

Atau adil conda env remove --name myenv.

Untuk memverifikasi bahwa lingkungan telah dihapus, di jendela terminal Anda atau Prompt Anaconda, jalankan:

conda info --envs

Daftar lingkungan yang ditampilkan tidak boleh memperlihatkan lingkungan yang dihapus.

Folder lingkungan anaconda3 Anda mungkin mendaftar folder kosong dari lingkungan yang dihapus di folder instalasi anaconda3 Anda, seperti:

/opt/anaconda3/envs
Harvey
sumber
19

Ada 3 cara untuk mencapai ini secara total. Dengan asumsi Anda memiliki lingkungan bernama myenv,

  1. conda env remove --name myenv, -nadalah jalan pintas untuk --name.

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

  3. Hapus folder env secara langsung. (Tidak direkomendasikan)

    # 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

Jika Anda ingin menghapus lingkungan tanpa meminta Anda memeriksa lagi. Gunakan -y, jalan pintas untuk --yes. (Untuk penggunaan global periksa prompt bisu di conda )

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

Referensi

  • conda env --help
  • conda remove --help
Simba
sumber
1
Dan mengapa menghapus folder env secara langsung tidak disarankan? Apa yang mungkin salah?
NoName
14

Anda dapat mencoba yang berikut: Buka anaconda command prompt dan ketik

conda remove --name myenv --all

Ini akan menghapus seluruh lingkungan.

Bacaan lebih lanjut: docs.conda.io> Kelola Lingkungan

Muhamad Mohsin
sumber
13

Pertama, Anda harus menonaktifkan lingkungan Anda sebelum menghapusnya. Anda dapat menghapus lingkungan conda dengan menggunakan perintah berikut

Misalkan nama lingkungan Anda adalah "sample_env", Anda dapat menghapus lingkungan ini dengan menggunakan

source deactivate    
conda remove -n sample_env --all

'--all' akan digunakan untuk menghapus semua dependensi

srilekha palepu - Intel
sumber
13

Lingkungan yang dibuat dengan bendera --prefixatau -pharus dihapus dengan -pbendera ( tidak -n ).

Sebagai contoh:, conda remove -p </filepath/myenvironment> --alldi mana </filepath/myenvironment>diganti dengan path lengkap atau relatif ke lingkungan.

Chris Keefe
sumber
1
Nama lingkungan saya termasuk spasi, seperti env saya . Metode ini, conda env remove -p path/to/my\ envbekerja sementara conda env remove -n my\ envdan conda env remove -n "my env"tidak.
Ben
11

Nama lingkungan saya adalah: test

conda remove -n test --all
CodeUrLife
sumber
8

Gunakan source deactivateuntuk menonaktifkan lingkungan sebelum menghapusnya, ganti ENV_NAME dengan lingkungan yang ingin Anda hapus:

source deactivate
conda env remove -n ENV_NAME
Jason
sumber
7
Penjelasan, apa yang dilakukan kode dan bagaimana hal ini mengatasi masalah dalam pertanyaan, jarang gagal meningkatkan jawaban.
MBT
EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENV_NAME
user924
7

Pertama nonaktifkan lingkungan dan kembali ke lingkungan dasar. Dari pangkalan, Anda harus dapat menjalankan perintah conda env remove -n <envname>. Ini akan memberi Anda pesan

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

Srini
sumber
5

jika Anda berada di basis :

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

hapus env_name dengan:

conda env remove -n env_name

jika Anda sudah berada di lingkungan env_name :

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

nonaktifkan kemudian hapus dengan:

conda deactivate env_name

conda env remove -n env_name
Shilpa Shinde
sumber
4

Ini bekerja untuk saya:

conda env remove --name tensorflow
Arman Samimi
sumber
Bekerja untuk saya juga. conda env remove --name <name of your environment> Kemudian Anda dapat menghapus folder lingkungan dari Anaconda atau lokasi pemasangan miniconda Anaconda\envs\<name of your environment>atauMiniconda\envs\<name of your environment>
Giriraj Pawar
1

Untuk menghapus lingkungan conda lengkap:

Conda hapus --name YOUR_CONDA_ENV_NAME --all

Bhadru Bhukya
sumber