Я хотел бы, чтобы корневая среда конды копировала все пакеты в другой среде. Как это может быть сделано?Как вы можете «клонировать» среду conda в корневую среду?
ответ
Если вы пытаетесь импортировать пакеты из второй среды в корневую среду, export package names from the second environment to a yaml file, то update the first environment. Во второй среде, запустите:
> conda env export > environment.yml
> conda env update -n root -f environment.yml
См conda env
для более подробной информации. В качестве альтернативы рассмотрим прилагаемую настольную программу Anaconada Navigator для более графического интерфейса.
Предложение: создайте резервную копию существующих сред (см. Первую команду), прежде чем пытаться внести изменения в корневой каталог и проверить желаемый результат путем тестирования этих команд в демонстрационной среде.
Обновление: Смотри также --clone
флаг может быть использован для клонирования среды:
> conda create --name myclone --clone myenv
См docs для деталей.
Этот метод, похоже, работает только для пакетов, которые были установлены с помощью conda или pip, не так ли? Некоторые пакеты, которые не были установлены с помощью простых менеджеров пакетов conda или pip, не работают. Например, Tensorflow, который был создан с использованием Bazel, не копируется в новую среду через файлы yaml. – mikal94305
Чтобы преодолеть вышеупомянутый комментарий, можно ли через скрипт bash скопировать файлы каталога среды в корневой каталог? – mikal94305
Я знаю, что это работает для пакетов 'conda' /' pip'. Я не знаком с настройкой, которую вы описали. – pylang
среда Корня называется в качестве базы, Вы можете использовать следующую команду, работал для меня с Anaconda3-5.0.1
conda create --name <env_name> --clone base
вы можете перечислить все пакеты, установленные в Конде среде с помощью следующей команды
conda list -n <env_name>
Вы имеете в виду «... скопировать все пакеты ** из другой среды» [в корень]? – pylang