Действительно, среды поддерживают специфику сборки платформы в разделе conda-install ( т.е. , dependencies
).Из примера OP:
- zlib=1.2.11=hf3cbc9b_2
, hf3cbc9b_2
- тег версии для конкретной платформы.Вы должны удалить это.
Если вы часто переключаетесь между платформами (например, OSX <-> Linux), пожалуйста, прочитайте ответ из @ merv , это правильночтобы сделать в будущем env export
.
В настоящее время, как и я, просто хотите исправить это, вы можете сделать это вручную или запустить sed
поверх него:
sed 's/\(.*[[:alnum:]]\)=[[:alnum:]][[:alnum:].-_]*/\1/' environment.yml > env.yml
.Это будет обрабатывать специфичный для платформы тег, не касаясь раздела pip
файла.
Затем вы можете повторить попытку с помощью env.yml
:
conda env create -f env.yml
Обратите внимание, что могут возникнуть специфичные для платформы пакеты .Если после удаления тегов версий Conda по-прежнему жалуется, вам придется соответственно очистить пакеты вручную.Например, я перенес environment.yml
из Linux на Mac, где пакеты libgcc-ng=9.1.0
, libstdcxx-ng=9.1.0
, libgfortran-ng=7.3.0
не определены;Я удалил их вручную.
Как только такая чистка была сделана, мой conda env create -f env.yml
работал как брелок.