1. ホーム
  2. バッシュ

[解決済み] condaのアップデート後、ターミナルのプロンプトから(base)を削除する方法

2022-03-03 20:15:24

質問

miniconda3をアップデートした後、ターミナルを開くとユーザー名とホストの前に"(base)"が表示されるようになりました。

この回答投稿では https://askubuntu.com/a/1113206/315699 を使用することが提案されています。

conda config --set changeps1 False

削除する場合

しかし、それだとどのconda環境でも表示が消えてしまいます。そうすれば、この環境(ベース)を常にアクティブにしておくことができ、この環境(ベース)がスペースを取っていることを常に意識することなく、この環境の python とインストール済みのパッケージにアクセスすることができるようになります。

解決方法は?

を使用します。 base envのアクティベーションフック

それぞれのenvについて etc/conda/activate.d ディレクトリは、アクティベーション後に実行されます(同様に etc/conda/deactivate.d スクリプトを使用します)。 を削除するスクリプトを追加した場合 (base) と同様に 提案 であれば、希望する動作が得られるでしょう。

のためにこのディレクトリを作成する必要がありました。 ベース これは Anaconda/Miniconda フォルダのルートに過ぎません。例,

mkdir -p miniconda3/etc/conda/activate.d

そして、その中に簡単なファイルを作って(例. remove_base_ps1.sh ) を1行で表示します。

PS1="$(echo "$PS1" | sed 's/(base) //') "

zshを使用している場合は、代わりにこれを使用してください。

PROMPT=$(echo $PROMPT | sed 's/(base) //')

新しいシェルを立ち上げると表示されない (base) また、ネストした環境から非アクティブにすることで、PS1の変更に対処することができます。

注意:末尾のスペースを保持したい場合は、$PS1の周りに引用符を追加する必要があります。