Як я можу перейменувати середовище 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.