bash - Wie verhindere ich, dass Conda die Basisumgebung standardmäßig aktiviert?




anaconda (2)

Ich habe kürzlich anaconda2 auf meinem Mac installiert. Standardmäßig ist Conda so konfiguriert, dass die Basisumgebung aktiviert wird, wenn ich eine neue Terminalsitzung öffne.

Ich möchte Zugriff auf die Conda-Befehle (dh ich möchte, dass der Pfad zu Conda zu meinem $ PATH hinzugefügt wird, was Conda bei der Initialisierung tut, damit das in Ordnung ist).

Aber ich programmiere normalerweise nicht in Python und ich möchte nicht, dass Conda standardmäßig eine Umgebung aktiviert.

Beim ersten Ausführen von conda init über die Eingabeaufforderung fügt Conda meinem .bash_profile Folgendes .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 <<<

Wenn ich den gesamten Block auskommentiere, kann ich keine Conda-Umgebungen aktivieren.

Ich habe versucht, den gesamten Block mit Ausnahme von zu kommentieren

export PATH="/Users/geoff/anaconda2/bin:$PATH"

Als ich dann eine neue Sitzung gestartet und versucht habe, eine Umgebung zu aktivieren, wurde folgende Fehlermeldung angezeigt:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.

Diese Frage (und andere, die sie mögen) sind hilfreich, aber sie beantwortet meine Frage letztendlich nicht und ist besser für Linux-Benutzer geeignet.

Zur Verdeutlichung bitte ich nicht, die (base) von meiner $PS1 zu entfernen. Ich bitte Conda, die Basis nicht zu aktivieren, wenn ich eine Terminalsitzung eröffne.


Am Ende stellte ich fest, dass, wenn ich den Conda-Initialisierungsblock wie folgt auskommentierte:

conda deactivate

Es funktioniert genau so, wie ich es will. Das heißt, Conda ist verfügbar, um eine Umgebung zu aktivieren, wenn ich möchte, wird jedoch standardmäßig nicht aktiviert.


Die Antwort hängt ein wenig von der Version von conda , die Sie installiert haben. Für Versionen von conda> = 4.4 sollte es ausreichen, die conda-Umgebung nach der Initialisierung zu deactivate

# <<< conda initialize <<<

direkt darunter

# >>> 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 <<<






conda