Como posso criar um arquivo de ambiente anaconda que pode ser usado em outros computadores?
Eu exportei meu ambiente anaconda python para YML usando conda env export > environment.yml
. O exportado environment.yml
contém esta linha prefix: /home/superdev/miniconda3/envs/juicyenv
que mapeia para a localização da minha anaconda, que será diferente nos computadores de outras pessoas.
conda env create -f environment.yml
parte, na minha experiência, isso não funcionará entre plataformas, porque o conda env listará muitas dependências, como `vs2015_runtime`, se você estiver no Windows. Mas é claro que isso não está disponível no linux.environment.yml
arquivo manualmente, para que você possa deixá-lo fora - ver stackoverflow.com/questions/39280638/...Respostas:
Não consigo encontrar nada nas
conda
especificações que permita exportar um arquivo de ambiente sem aprefix: ...
linha. No entanto, como Alex apontou nos comentários, o conda não parece se importar com a linha do prefixo ao criar um ambiente a partir do arquivo.Com isso em mente, se você quiser que o outro usuário não tenha conhecimento do seu caminho de instalação padrão, poderá remover a linha do prefixo
grep
antes de gravar emenvironment.yml
.De qualquer forma, o outro usuário executa:
e o ambiente será instalado no caminho do ambiente conda padrão.
Se você deseja especificar um caminho de instalação diferente do padrão para o seu sistema (não relacionado ao 'prefixo' no environment.yml), basta usar o
-p
sinalizador seguido pelo caminho necessário.Observe que a Conda recomenda criar
environment.yml
manualmente, o que é especialmente importante se você deseja compartilhar seu ambiente entre plataformas (Windows / Linux / Mac). Nesse caso, você pode simplesmente deixar de fora aprefix
linha.fonte
A maneira mais fácil de salvar os pacotes de um ambiente a ser instalado em outro computador é:
então você pode instalar o ambiente usando
se você usar
pip
, use os seguintes comandos: reference https://pip.pypa.io/en/stable/reference/pip_freeze/fonte
Linux
janelas
Justificativa: Por padrão,
conda env export
inclui as informações de construção:Em vez disso, você pode exportar seu ambiente sem informações de compilação:
O que desata o ambiente da versão e do SO Python.
fonte
Acho que exportar os pacotes apenas no formato string é mais portátil do que exportar todo o
conda
ambiente. Como a resposta anterior já sugeriu:No entanto, isso
requirements.txt
contém números de compilação que não são portáveis entre sistemas operacionais, por exemplo, entreMac
eUbuntu
. Emconda env export
temos a opção,--no-builds
mas não comconda list -e
, para que possamos remover o número da compilação emitindo o seguinte comando:E recrie o ambiente em outro computador:
fonte
sed
comando funcionou muito bem. Eu tive que excluir uma versão do patch. Então,major.minor.patch
paramajor.minor
e funcionou. Acontece que o número de patch mais baixo foi descartado pelos principais repositórios.fonte