Eu instalei recentemente o anaconda2 no meu Mac. Por padrão, o Conda é configurado para ativar o ambiente base quando abro uma nova sessão do terminal.
Eu quero acessar os comandos do Conda (ou seja, eu quero que o caminho do Conda seja adicionado ao meu $ PATH, o que o Conda faz quando inicializado, o que é bom).
Mas normalmente não programa em python e não quero que o Conda ative um ambiente por padrão.
Ao executar a conda init
partir do prompt, o Conda adiciona o seguinte ao meu .bash_profile
:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/geoff/anaconda2/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/geoff/anaconda2/etc/profile.d/conda.sh" ]; then
. "/Users/geoff/anaconda2/etc/profile.d/conda.sh"
else
export PATH="/Users/geoff/anaconda2/bin:$PATH"
fi
# fi
unset __conda_setup
# <<< conda initialize <<<
Se eu comentar o bloco inteiro, não posso ativar nenhum ambiente Conda.
Tentei comentar o bloco inteiro, exceto
export PATH="/Users/geoff/anaconda2/bin:$PATH"
Mas quando iniciei uma nova sessão e tentei ativar um ambiente, recebi esta mensagem de erro:
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
Esta pergunta (e outras semelhantes) são úteis, mas não respondem à minha pergunta e são mais adequadas para usuários do Linux.
Para esclarecimento, não estou pedindo para remover o (base)
meu $PS1
, estou pedindo que o Conda não ative a base quando abro uma sessão do terminal.
source activate
? aka "the oldschool method"Respostas:
Eu tenho o conda 4.6 com um bloco de código semelhante que foi adicionado pelo conda. No meu caso, há uma configuração conda para desativar a ativação automática da base:
Na primeira vez em que você o executar, ele criará um
./condarc
no diretório inicial com essa configuração para substituir o padrão.Isso não atrapalhará o seu,
.bash_profile
mas é uma solução mais limpa sem a edição manual da seção que o condda gerencia.fonte
conda config --describe
. Pesquisando na base de código por "auto_activate_base" parece mostrar que o Conda v4.6.0 é a introdução.conda config --set auto_activate_base false
Obrigado por instalar o Anaconda3!A resposta depende um pouco da versão
conda
que você instalou. Para versões do conda> = 4.4, deve ser suficiente paradeactivate
o ambiente conda após a inicialização, portanto, inclualogo abaixo
fonte
__conda_setup
função, para poder reduzir tudo para 6 linhas. Mas eu não acho que há muito a declutter aqui ...Então, no final, descobri que se eu comentei o bloco de inicialização do Conda da seguinte forma:
Funciona exatamente como eu quero. Ou seja, o Conda está disponível para ativar um ambiente, se eu quiser, mas não é ativado por padrão.
fonte
rc
arquivo? Eu também estaria interessado nisso, sendo capaz de tratar a conda como outros envs, em vez deconda config --set auto_activate_base false
, você pode elaborar?Existem três maneiras de conseguir isso depois da
conda
4.6. (O último método tem a maior prioridade.)Use o subcomando
conda config
para alterar a configuração.De fato, o antigo
conda config
subcomando está alterando o arquivo de configuração.condarc
. Nós podemos modificar.condarc
diretamente. Adicione o seguinte conteúdo no.condarc
diretório inicial,Defina a variável de ambiente
CONDA_AUTO_ACTIVATE_BASE
no arquivo init do shell. (.bashrc
para bash,.zshrc
para zsh)As configurações do ambiente têm precedência sobre as configurações correspondentes no
.condarc
arquivo.Referências
conda config --describe
fonte
export CONDA_AUTO_ACTIVATE_BASE=false; eval "$(conda shell.bash hook)"
export CONDA_AUTO_ACTIVATE_BASE=false
ao meu .zshrc para a opção 3 funcionar.Para desativar a ativação automática do ambiente base conda no terminal:
Para ativar o ambiente base conda:
fonte
Uma coisa que não foi apontada é que há pouca ou nenhuma diferença entre não ter um ambiente ativo e ativar o ambiente base, se você quiser executar aplicativos do diretório de scripts da Conda (Python) (como @DryLabRebel deseja )
Você pode instalar e desinstalar via conda e o conda mostra o ambiente base como ativo - o que essencialmente é:
fonte
Se você quiser manter o bashrc simples, poderá remover toda a
conda init
confusão gerada e manter apenas uma única linha:Consulte Alteração recomendada para ativar o conda no seu shell .
Isso disponibilizará o comando conda sem ativar o ambiente base.
Se você deseja usar o bashrc em outros sistemas em que o conda não está instalado no mesmo caminho, você pode manter as linhas
if
/fi
para evitar mensagens de erro, ou seja:fonte
Isso pode ser um bug da anaconda recente. O que funciona para mim:
step1:,
vim /anaconda/bin/activate
mostra:step2: comente a última linha:
# conda activate "$@"
fonte
Eu enfrentei o mesmo problema. Inicialmente, excluí o .bash_profile, mas este não é o caminho certo. Depois de instalar o anaconda, ele mostra claramente as instruções para esse problema. Por favor, verifique a imagem para obter a solução fornecida pela Anaconda
fonte