1. ホーム
  2. bash

[解決済み] Condaがデフォルトでベース環境を起動しないようにするにはどうしたらいいですか?

2022-03-18 16:02:41

質問

最近、私のMacにanaconda2をインストールしました。デフォルトのCondaは、私が新しいターミナルセッションを開いたときにベース環境をアクティブにするように構成されています。

Condaコマンドにアクセスしたい(つまり、Condaへのパスを $PATH これはCondaが初期化するときに行うので問題ありません)。

しかし、私は通常pythonでプログラミングをしないので、Condaがデフォルトでベース環境を有効にすることを望んでいません。

を最初に実行したとき conda init をプロンプトから呼び出すと、Conda は次のように私の .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 <<<

ブロック全体をコメントアウトすると、どのConda環境も起動できなくなります。

を除く全ブロックをコメントアウトしてみました。

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

しかし、その後、新しいセッションを開始し、環境を有効にしようとすると、このようなエラーメッセージが表示されました。

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

この質問 (そしてこのような他のものも)役に立ちますが、最終的に私の質問の答えにはなっておらず、むしろリナックスユーザーに向いていると思います。

はっきり言って、私は (base) を、私の $PS1 ターミナルセッションを開いたときに、Condaがbaseを起動しないようにお願いしています。

どうすればいいですか?

私はconda 4.6を持っていて、condaによって追加された同様のコードブロックがあります。私の場合、condaの設定に自動ベース起動を無効にするものがあります。

conda config --set auto_activate_base false

最初に実行したときは、このメソッドは .condarc をホームディレクトリに置き、この設定でデフォルトを上書きします。

これでは .bash_profile が、condaが管理するセクションを手動で編集することなく、よりすっきりとした解決策となります。