1. ホーム
  2. bash

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

2023-05-19 02:02:44

質問

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 ) を一行で作成します。

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

zshを使用している場合は、代わりにこれを使用します。

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

新しいシェルを起動しても (base) を表示しません。また、ネストした環境から非アクティブにすることで、PS1 の変更もケアされます。

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