J'ai récemment installé anaconda2 sur mon Mac. Par défaut, Conda est configuré pour activer l'environnement de base lorsque j'ouvre une nouvelle session de terminal.
Je veux accéder aux commandes de Conda (c'est-à-dire que je veux que le chemin vers Conda soit ajouté à mon $ PATH, ce que Conda fait lors de l'initialisation, donc ça va).
Mais je ne programme pas d'habitude en python, et je ne veux pas que Conda active un environnement par défaut.
Lors de la première exécution à conda init
partir de l'invite, Conda ajoute ce qui suit à mon .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 <<<
Si je commente tout le bloc, je ne peux activer aucun environnement Conda.
J'ai essayé de commenter tout le bloc à l'exception de
export PATH="/Users/geoff/anaconda2/bin:$PATH"
Mais quand j'ai commencé une nouvelle session et essayé d'activer un environnement, j'ai reçu ce message d'erreur:
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
Cette question (et d'autres comme celle-ci) est utile, mais ne répond finalement pas à ma question et convient mieux aux utilisateurs de Linux.
Par souci de clarté, je ne demande pas de retirer le (base)
de mon, $PS1
je demande à Conda de ne pas activer la base lorsque j'ouvre une session de terminal.
source activate
place? alias "la méthode oldschool"Réponses:
J'ai conda 4.6 avec un bloc de code similaire qui a été ajouté par conda. Dans mon cas, il y a un paramètre de configuration conda pour désactiver l'activation automatique de la base:
La première fois que vous l'exécutez, il créera un
./condarc
dans votre répertoire personnel avec ce paramètre pour remplacer la valeur par défaut.Cela ne
.bash_profile
désencombrerait pas votre mais c'est une solution plus propre sans modification manuelle de la section gérée par conda.la source
conda config --describe
. La recherche dans la base de code de "auto_activate_base" semble montrer que Conda v4.6.0 est l'introduction.conda config --set auto_activate_base false
Merci d'avoir installé Anaconda3!La réponse dépend un peu de la version
conda
que vous avez installée. Pour les versions de conda> = 4.4, cela devrait suffire àdeactivate
l'environnement conda après l'initialisation, donc ajoutezjuste en dessous
la source
__conda_setup
fonction, vous pouvez donc réduire le tout à 6 lignes. Mais je ne pense pas qu'il y ait beaucoup à désencombrer ici ...Donc à la fin, j'ai trouvé que si je commentais le bloc d'initialisation Conda comme ceci:
Cela fonctionne exactement comme je veux. Autrement dit, Conda est disponible pour activer un environnement si je le souhaite, mais ne s'active pas par défaut.
la source
rc
fichier? Cela m'intéresserait aussi, de pouvoir simplement traiter le conda comme les autres envs, plutôt que d'encombrer les chosesconda config --set auto_activate_base false
, pouvez-vous élaborer?Il existe 3 façons d'y parvenir après
conda
4.6. (La dernière méthode a la priorité la plus élevée.)Utilisez la sous-commande
conda config
pour modifier le paramètre.En fait, l'ancienne
conda config
sous-commande change le fichier de configuration.condarc
. Nous pouvons modifier.condarc
directement. Ajoutez le contenu suivant dans.condarc
votre répertoire personnel,Définissez la variable d'environnement
CONDA_AUTO_ACTIVATE_BASE
dans le fichier init du shell. (.bashrc
pour bash,.zshrc
pour zsh)Les paramètres d'environnement ont priorité sur les paramètres correspondants dans le
.condarc
fichier.Références
conda config --describe
la source
export CONDA_AUTO_ACTIVATE_BASE=false; eval "$(conda shell.bash hook)"
export CONDA_AUTO_ACTIVATE_BASE=false
à mon .zshrc pour que l'option 3 fonctionne.Pour désactiver l'activation automatique de l'environnement conda base dans le terminal:
Pour activer l'environnement conda base:
la source
Une chose qui n'a pas été soulignée, c'est qu'il n'y a pas ou peu de différence entre l'absence d'un environnement actif et l'activation de l'environnement de base, si vous souhaitez simplement exécuter des applications à partir du répertoire de scripts de Conda (Python) (comme le souhaite @DryLabRebel ).
Vous pouvez installer et désinstaller via conda et conda affiche l'environnement de base comme actif - ce qui est essentiellement le cas:
la source
Si vous voulez garder votre bashrc simple, vous pouvez supprimer tout l'
conda init
encombrement généré et ne conserver qu'une seule ligne:Voir Modification recommandée pour activer la conda dans votre shell .
Cela rendra la commande conda disponible sans activer l'environnement de base.
Si vous souhaitez utiliser votre bashrc sur d'autres systèmes où conda n'est pas installé sur le même chemin, vous pouvez également conserver les lignes
if
/fi
pour éviter les messages d'erreur, c'est-à-dire:la source
Cela pourrait être un bug de la récente anaconda. Ce qui fonctionne pour moi:
step1:,
vim /anaconda/bin/activate
il montre:étape 2: commentez la dernière ligne:
# conda activate "$@"
la source
J'ai fait face au même problème. Au départ, j'ai supprimé le .bash_profile mais ce n'est pas la bonne façon. Après avoir installé anaconda, il montre clairement les instructions pour ce problème. Veuillez vérifier l'image pour la solution fournie par Anaconda
la source