как добавить / удалить / обновить пакеты в выходящей среде conda - PullRequest
0 голосов
/ 23 апреля 2020

У меня уже есть настройка среды conda.

Я хочу удалить из нее несколько пакетов, обновить несколько и добавить несколько новых пакетов.

В настоящее время я делаю это вручную одна за другой после source activate <my_exiting_conda>.

conda update x
conda update y
conda remove z --force
conda remove w --force
conda install -c <channel> <package name>

Есть ли способ, с помощью которого я могу поместить все эти команды в файл и просто использовать его, чтобы выполнить всю работу одновременно.

Также, когда Я запускаю вышеупомянутую команду вручную, она просит нажать Y / n для каждой команды? как я могу избежать этого?

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

Да, вы можете передавать пакеты в один go

conda update x y
conda remove z w --force
0 голосов
/ 23 апреля 2020

Рассмотрите возможность перехода на использование YAML , чтобы управлять своими envs и воздерживаться от использования conda update/install/remove команд. Если вы хотите сделать несколько изменений в env, измените их в YAML, затем используйте:

conda env update -f environment.yaml

Эта команда также имеет необязательный аргумент --prune, который удалит все ненужные пакеты, т.е. , обеспечивает механизм удаления пакета, который вы ищете.

Обратите внимание, что команды conda env не предоставляют этап проверки транзакции. По этой причине я бы не рекомендовал использовать его для управления base env.

Начиная с существующего Env

Чтобы получить рабочий YAML из существующего env (скажем, foo ), попробуйте выполнить что-то вроде

conda env export -n foo --from-history > foo.yaml

Аргумент --from-history будет включать только явные спецификации, которые вы предоставили env, поэтому YAML будет выглядеть ближе к тому, что может создавать и поддерживать с нуля.

Обратите внимание, что если были установлены пакеты через pip, они не будут отображаться в версии --from-history. В этом случае я все равно начинаю с этой версии, затем экспортирую полный YAML для захвата любых pip спецификаций и добавляю их в более простую версию.

...