Como ativo um ambiente conda no meu .bashrc?


18

Eu uso o Conda para gerenciamento de pacotes em Python. Eu tenho um ambiente básico que uso quase o tempo todo e quero que seja carregado por padrão quando abro um terminal. Como configuro o meu .bashrcpara carregar o ambiente?

Até agora, tentei source activate myenv, mas meu entendimento é que preciso fornecer um caminho real dentro do .bashrcarquivo. Eu então tentei source ~/anaconda3/envs/myenv/bin/activate. Embora isso não gere um erro, também não ativa o ambiente. Estou executando o Ubuntu 16.04.

Respostas:


21

Parece que as respostas aceitas podem estar desatualizadas. Dos documentos :

Se seu shell for Bash ou uma variante Bourne, ative conda para o usuário atual com

$ echo ". /home/<user>/miniconda3/etc/profile.d/conda.sh" >> ~/.bashrc

ou, para todos os usuários, habilite o conda com

$ sudo ln -s /home/<user>/miniconda3/etc/profile.d/conda.sh /etc/profile.d/conda.sh

As opções acima ativam permanentemente o comando 'conda', mas NÃO colocam o ambiente base (raiz) da conda no PATH. Para fazer isso, execute

$ conda activate

no seu terminal ou para colocar o ambiente base no PATH permanentemente, execute

$ echo "conda activate" >> ~/.bashrc

Anterior ao conda 4.4, a maneira recomendada de ativar o conda era modificar o PATH no seu arquivo ~ / .bashrc. Você deve remover manualmente a linha que parece

export PATH="/home/<user>/miniconda3/bin:$PATH"

^^^ A linha acima não deve mais estar no seu arquivo ~ / .bashrc! ^^^


O método de softlink é RAD!
abalter 6/02/19

Se a adição de .bashrc não estiver funcionando, tente adicioná-lo no arquivo .profile.
oya163 18/03

4

Durante a instalação do Anaconda, deve haver uma entrada adicionada ao arquivo .bashrc como este

export PATH="/home/<user>/anaconda3/bin:$PATH"

se não estiver lá, verifique a instalação executando which condae atualize .bashrc com o caminho até a lixeira.

Isso aponta para o executável 'conda' e configura o caminho para manipular a ativação do conda.

Adicione esta linha após o comando de exportação:

source activate <your_environment>

a partir daí, você pode source ~/.bashrccarregar o ambiente no shell atual.


1

Para uso do bash:

$ cd YOUR_PATH_ANACONDA/bin
$ ./conda init bash

Isso editará automaticamente o seu .bashrc.

Recarregar:

$ source ~/.bashrc

Teste (instale o Spyder):

$ conda install -c anaconda spyder

Execute o Spyder

$ spyder

1

Correção correta

(funciona para versões> = 4.6)

find . -type f -name 'conda' verifique onde está o binário conda e, em seguida, CD para ele ou apenas forneça o caminho completo e execute

conda config --set auto_activate_base true

Para desativar, faça o mesmo, mas com false. Obviamente:

conda config --set auto_activate_base false

Correção rápida e suja nº 1

Cole o seguinte no seu .bashrc, substitua pelo óbvio e crie o seu .bashrc ( source .bashrc). Deve funcionar para a versão Miniconda3> = 4.6

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/<YOUR_USER>/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/<YOUR_USER>/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/<YOUR_USER>/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/<YOUR_USER>/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

Este é um recorte e colagem do meu próprio .bashrc, você pode remover os comentários, mas eu os acho úteis como delimitadores.

Correção Rápida e Suja # 2

Remova a coisa toda com o seu comando de remoção favorito ( rm -rf ~/miniconda3), execute o script de instalação novamente e preste atenção ao prompt, pois será solicitado se você deseja iniciar automaticamente.

O que quer que balança o seu barco :)


0

Se você deseja que um ambiente conda seja ativado por padrão ao iniciar um novo terminal bash, você pode adicionar a seguinte linha ao seu ~/.bashrcarquivo:

export PATH=<PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>:$PATH

Você deve substituir <PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>na linha acima o caminho completo para o seu ambiente conda.

No seu caso, você pode adicionar a seguinte linha ao seu ~/.bashrcarquivo:

export PATH=~/anaconda3/envs/myenv/bin:$PATH

Basicamente, estamos adicionando o bindiretório do seu ambiente conda como a primeira entrada no seu PATH, que é essencialmente o que o activatescript de conveniência fará. Depois disso, quando você abrir um novo terminal bash, o ambiente conda será "ativado" / "ativado" por padrão.

Observe que você pode não ver o (myenv)prefixo do prompt do bash como faria se visse source activate myenv. Se você deseja que o prefixo do seu prompt seja exibido também, adicione a seguinte linha ao seu ~/.bashrcarquivo:

export PS1="(myenv)"$PS1

Onde (myenv)está o nome personalizado que você pode dar que aparecerá como o prefixo do prompt do bash.


Para mim, isso funciona, mas conda info --envsainda mostra o rootambiente como atual. Existe alguma razão para eu não poder simplesmente adicionar source activate py34(py34 é o meu nome do ambiente) ao meu ~ / .bashrc? Parece funcionar, mas há algum motivo para isso não ser recomendado?
BStateham

Verifique se a PATHvariável está apontando para a binpasta na pasta do ambiente conda e não na pasta base / raiz. Por exemplo: ~/anaconda3/envs/myenv/bine não ~/anaconda3/bin) Sim. você pode simplesmente adicionar a pasta bin anaconda (por exemplo:) ~/anaconda3/binao PATH do sistema e depois source activate ENV_NAMEno seu ~/.bashrcou ~/.bash_profile. Não foi recomendado porque, os arquivos de configuração ( ~/.bashrcou ~/.bash_profile) são originários e não são executados quando um novo terminal bash é aberto.
Praveen Palanisamy

0

Isso pode estar em algum lugar acima (mas eu entendi errado primeiro). É importante que, no seu arquivo bashrc, você primeiro exporte seu caminho conda. Portanto, o caminho para conda (ou miniconda etc) virá acima da conda activate <env>linha. O formato é assim:

export <path to conda bin>

<any other conda initializations>

conda activate <env>


-1

Para ativar o ambiente conda, basta colocar isso no final do seu arquivo .bashrc para abrir o terminal aberto .bashrc , vá para o diretório inicial. Executar / digite nano .bashrc, no prompt, coloque o seguinte no final do arquivo:

conda activate my_environment_name

agora salve o arquivo .bashrc ( Ctrl+ Shift+ o) pressione enter.


Enquanto eu não sou especialista em condomínios, posso dizer que você ~$se refere a nada, mas ~$(o que não é nada). ~ou $HOMEfará referência/home/user/
j-money

sim "~" é o que eu estou me referindo. assim quando você vê ~ $ o no ambiente de casa apenas tentando explicar para que qualquer pessoa pode entender, a sua pena de você downvoted sobre o cifrão como isso poderia ter sido pertencente útil para a questão real na mão ...
Alice

Infelizmente para mim, comentei, mas não diminuí a votação (então agora eu recebo o resultado) .. De qualquer forma, como alguém pode entender ~$como o caminho correto quando ele nem sequer é um caminho?
j-dinheiro

ok ponto de tomada, eu vou tentar ser mais "específico"
Alice
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.