Установите переменные среды в `environment.yml`

Могу ли я установить переменные среды в файлах environment.yml в conda средах?

Conda позволяет мне сохранять переменные среды в средах через env_vars.sh script, но есть ли способ автоматизировать процесс создания env_vars.sh в каталогах activate.d, deactivate.d в соответствии с некоторой спецификацией переменных среды в environment.yml, для воспроизводимой среды с, скажем, MKL_THREADING_LAYER=GNU?

Ответ 1

Текущий статус (Conda v4.7.12)

Нет, невозможно установить переменные среды, специфичные для env, в YAML env.

Outlook: возможно, в Conda v4.8

Как отметил @Ben в комментариях, это был запрос на открытую функцию. Хотя технически он не имеет набора этапов, запрос извлечения, относящийся к этой проблеме, был объединен как часть этапа Conda v4.8.0, который выглядит так, как будто он предоставляет некоторую инфраструктуру для переменных среды, специфичных для env (т.е. без использования вручную написание активационных зацепок). Например, PR добавляет команду conda-env vars, которую можно использовать, например,

conda env vars set MKL_THREADING_LAYER=GNU

Однако я не смог найти ни кода для синтаксического анализа переменных из YAML, ни нового кода для экспорта переменных в YAML (но, по общему признанию, я только просматривал его - главным образом просматривая добавленные тесты).

Таким образом, окончательный ответ еще еще не, но он может быть на горизонте.