Bagaimana saya bisa mengganti nama lingkungan conda?

Jawaban:

458

Kamu tidak bisa

Salah satu solusinya adalah membuat lingkungan klon, dan kemudian menghapus yang asli:

(ingat tentang menonaktifkan lingkungan saat ini dengan deactivatedi Windows dan source deactivatedi macOS / Linux)

conda create --name new_name --clone old_name
conda remove --name old_name --all # or its alias: `conda env remove --name old_name`

Ada beberapa kelemahan dari metode ini:

  1. itu mengunduh ulang paket - Anda dapat menggunakan --offlineflag untuk menonaktifkannya,
  2. waktu yang dihabiskan untuk menyalin file lingkungan,
  3. penggunaan double disk sementara.

Ada masalah terbuka yang meminta fitur ini.

pkowalczyk
sumber
90
booooo kenapa tidak bisa mengganti nama conda env?
Charlie Parker
6
sehingga meninggalkan beberapa pekerjaan untuk mereka yang menggunakan conda dan dengan demikian membuat mereka lebih mengerti dalam perjalanan: P: D
Saravanabalagi Ramachandran
3
Cara lain adalah dengan mengkloning lingkungan conda create --name new_name --clone old_namemaka Anda dapat menghapus yang lama.
Y0da
4
Kata peringatan - Saya mencoba melakukan ini, dan mengalami kesalahan aneh - saya .bashrctidak lagi bekerja, dan mencoba untuk menjalankan pytestakan gagal, mencoba untuk referensi lingkungan yang sekarang dihapus. Saya mencoba kerang baru dan memulai kembali tanpa hasil. Akhirnya harus menerbangkan lingkungan baru, lalu mulai dengan instalasi yang bersih. Lebih lambat, tetapi tampaknya benar-benar berfungsi sekarang.
dwanderson
3
@dwanderson +5000 karena saya akan mencoba menggunakan jawaban ini tetapi saya hanya akan menarik bandaid dan membuat ulang env saya yang buruk bernama dari awal.
bgoodr
13

Berdasarkan komentar dwanderson yang membantu, saya dapat melakukan ini dalam Bash one-liner:

conda create --name envpython2 --file <(conda list -n env1 -e )

Env saya yang bernama buruk adalah "env1" dan yang baru yang ingin saya klon darinya adalah "envpython2".

bgoodr
sumber
1
Terjadi kesalahan saat mengatakan PackagesNotFoundError: The following packages are not available from current channelsdengan skrip ini. Script ini mungkin hanya berfungsi ketika Anda tidak memiliki paket yang diinstal dengan pip dan yang tidak tersedia dalam kondisi di lingkungan yang ada?
Yuxuan Chen
-41

Cukup buka folder "\ Anaconda \ envs" dan ganti namanya.

Sebelum Ganti Nama sebelum mengganti nama

Setelah Ganti Nama setelah berganti nama

mengLV LI
sumber
13
Jawaban ini memecah jupyter. Jupyter melaporkan "path not found" ketika mencoba meluncurkan kernel python.
MD004
5
Ada risiko besar untuk merusak lingkungan
FabienP
2
jangan lakukan ini.
BenP
satu alasan ini adalah ide yang buruk - ada file di dalam direktori env / name yang berisi path absolut ke direktori itu. Jika Anda memindahkan direktori, path tidak akan lagi berfungsi karena menunjuk ke direktori lama yang tidak ada lagi: envs / ds_tensorflow / Lib / paket-situs / sipconfig.py: 'default_bin_dir': 'C: / Users / me / miniconda3 / envs / ds_tensorflow ', envs / ds_tensorflow / Lib / situs-paket / sipconfig.py:' default_mod_dir ':' C: / Users / me / miniconda3 / envs / ds_tensorflow \\ Lib \\ situs-paket ',
Donald S