Saya memiliki lingkungan conda bernama old_name
, bagaimana saya bisa mengubah namanya new_name
tanpa melanggar referensi?
Saya memiliki lingkungan conda bernama old_name
, bagaimana saya bisa mengubah namanya new_name
tanpa melanggar referensi?
Jawaban:
Kamu tidak bisa
Salah satu solusinya adalah membuat lingkungan klon, dan kemudian menghapus yang asli:
(ingat tentang menonaktifkan lingkungan saat ini dengan deactivate
di Windows dan source deactivate
di 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:
--offline
flag untuk menonaktifkannya,Ada masalah terbuka yang meminta fitur ini.
conda create --name new_name --clone old_name
maka Anda dapat menghapus yang lama.
.bashrc
tidak lagi bekerja, dan mencoba untuk menjalankan pytest
akan 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.
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".
PackagesNotFoundError: The following packages are not available from current channels
dengan 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?
conda create --name new_name --copy --clone old_name
lebih baik
Saya menggunakan conda create --name new_name --clone old_name
yang tanpa --copy
tetapi mengalami istirahat pipa ...
url berikut dapat membantu Menginstal tensorflow di lingkungan conda yang dikloning merusak lingkungan yang dikloningnya