2016-12-22 2 views
20

Как сделать файл окружения anaconda, который можно использовать на других компьютерах?Файл экспорта среды Anaconda

Я экспортировал свою среду python anaconda в YML, используя conda env export > environment.yml. Экспортированный environment.yml содержит эту строку prefix: /home/superdev/miniconda3/envs/juicyenv, которая соответствует местоположению моей анаконды, которое будет отличаться от других.

+5

Я просто проводил некоторые испытания и думал, что наш префикс игнорируется ... не уверен, почему он находится в экспорте. Вы должны уметь делать 'conda env create -f environment.yml' Как и в моем случае, это не будет работать на разных платформах, потому что conda env отобразит множество зависимостей, таких как' vs2015_runtime', если вы находитесь в Windows. Но, конечно, это невозможно в Linux. –

+1

Конда на самом деле рекомендует создать файл 'environment.yml' вручную, чтобы вы могли его оставить - см. Https://stackoverflow.com/questions/39280638/how-to-share-conda-environments-across-platforms –

ответ

24

Я не могу найти что-либо в спецификациях conda, которые позволяют экспортировать файл окружения без линии prefix: .... Однако в комментариях Alex pointed out, conda, похоже, не заботится о префиксной строке при создании среды из файла.

Имея это в виду, если вы хотите, чтобы другой пользователь не знал о вашем пути установки по умолчанию, вы можете удалить префиксную строку grep перед записью на environment.yml.

conda env export | grep -v "^prefix: " > environment.yml 

В любом случае, другой пользователь затем запускает:

conda env create -f environment.yml 

и окружающая среда будет установлен на своем пути среды Конда по умолчанию.

Если вы хотите указать другой путь установки по умолчанию для вашей системы (не относящийся к «префикс» в environment.yml), просто используйте флаг -p, за которым следует требуемый путь.

conda env create -f environment.yml -p /home/user/anaconda3/envs/env_name 
Смежные вопросы