Як я можу перейменувати середовище conda?


Відповіді:


457

Ви не можете.

Одне вирішення - створити середовище клонування, а потім видалити оригінальне:

(пам’ятайте про деактивацію поточного середовища deactivateв Windows та source deactivateна 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`

Існує кілька недоліків цього методу:

  1. він повторно завантажує пакети - ви можете використовувати --offlineпрапор, щоб відключити його,
  2. час, витрачений на копіювання файлів середовища,
  3. тимчасове використання подвійного диска.

Існує відкрита проблема, яка вимагає цієї функції.


90
booooo, чому не можна перейменувати conda env?
Чарлі Паркер

6
щоб залишити роботу для тих, хто роздрібнює конду і тим самим змушує їх зрозуміти набагато більше на шляху: P: D
Сараванабалагі Рамачандран

3
Ще один спосіб - клонувати середовище, conda create --name new_name --clone old_nameтоді ви можете видалити старе.
Y0da

4
Слово попередження - я спробував це зробити, і зіткнувся з химерними помилками - мої .bashrcбільше не працювали, і намагатися запуститись pytestне вдалося б, намагаючись посилатися на видалене тепер середовище. Я спробував нові снаряди і перезапустив без удачі. Закінчилося, що потрібно підірвати нове середовище, тоді просто почніть з чистої установки. Повільніше, але, здається, насправді працює зараз.
dwanderson

3
@dwanderson +5000, як я збирався спробувати використати цю відповідь, але натомість я просто збираюся витягнути бандаїд і відтворити моє погано назване оточення з нуля.
bgoodr

13

Грунтуючись на корисному коментарі Двендерсона , я зміг це зробити в одношаровій лінії Bash:

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

Моє погано назване env було "env1", і нове, яке я хочу клонувати з нього, - "envpython2".


1
Виникла помилка PackagesNotFoundError: The following packages are not available from current channelsіз зазначенням цього сценарію. Цей сценарій, ймовірно, працює лише тоді, коли у вас немає пакетів, встановлених з допомогою pip та недоступних у конді в існуючих умовах?
Yuxuan Chen


-41

Просто відкрийте папку "\ Anaconda \ envs" та перейменуйте її.

Перед перейменуванням перед перейменуванням

Після Перейменування після перейменування


13
Ця відповідь ламає юпітер. Юпітер повідомляє про "шлях не знайдено" при спробі запуску ядра python.
MD004

5
Існує величезний ризик порушити навколишнє середовище
FabienP

2
не роби цього.
БенП

одна з цих причин - це погана ідея - всередині каталогу env / name є файли, які містять абсолютний шлях до цього каталогу. Якщо ви перемістите каталог, шлях більше не працюватиме, оскільки він вказує на старий каталог, який більше не існує: envs / ds_tensorflow / Lib / site-пакети / sipconfig.py: 'default_bin_dir': 'C: / Users / me / miniconda3 / envs / ds_tensorflow ', envs / ds_tensorflow / Lib / сайт-пакети / sipconfig.py:' default_mod_dir ':' C: / Користувачі / мені / miniconda3 / envs / ds_tensorflow \\ Lib \\ site-пакети ',
Дональд S
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.