Я хотел бы, чтобы корневая среда Conda копировала все пакеты в другой среде. Как это может быть сделано?
Как вы можете "клонировать" среду conda в корневую среду?
Ответ 1
Вариант 1 - файл YAML
При попытке импортировать пакеты из второй среды в корневую среду:
Во второй среде экспортируйте имена пакетов в файл yaml:
> conda env export > environment.yml
затем обновите первую среду (см. предложение ниже):
> conda env update -n root -f envoronment.yml
Смотрите также conda env
для более подробной информации. В качестве альтернативы рассмотрите прилагаемую настольную программу Anaconada Navigator для большей наглядности.
Предложение: сделайте резервную копию существующих сред (см. первую команду) перед попыткой внесения изменений в root и проверьте желаемый результат, протестировав эти команды в демонстрационной среде.
Вариант 2 - клонирование среды
Флаг --clone
можно использовать для клонирования окружений:
> conda create --name myclone --clone root
Это в основном создает прямую копию среды.
Вариант 3 - Spec файл
Вы также можете создать файл спецификации для добавления зависимостей из одного окружения в другое:
> conda list --explicit > spec-file.txt
> conda install --name root --file spec-file.txt
В качестве альтернативы, копируемые среды (аналогично клонированию):
> conda create --name myenv --file spec-file.txt
Примечание. Spec файлы работают только со средами, созданными в одной и той же ОС.
Ответ 2
Чтобы сделать копию вашей корневой среды (с именем base
), вы можете использовать следующую команду; работал для меня с Anaconda3-5.0.1:
conda create --name <env_name> --clone base
вы можете получить список всех пакетов, установленных в среде conda, с помощью следующей команды
conda list -n <env_name>
Ответ 3
При настройке новой среды, и мне нужны пакеты из базовой среды в моей новой (что часто бывает), я создаю в приглашении ту же среду conda, используя spec-file.txt с:
список conda --explicit> spec-file.txt
В spec файле содержатся, например, пакеты базовой среды.
Затем, используя подсказку, я устанавливаю пакеты в новую среду:
conda install --name myenv --file spec-file.txt
Пакеты из базы будут доступны в новой среде.
Весь процесс описан в документе:https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#building-identical-conda-environments