web-dev-qa-db-ja.com

condaを更新した後、ターミナルプロンプトから(ベース)を削除する方法

Miniconda3を更新した後、ターミナルを開くと、ユーザー名とホストの前に「(base)」と表示されます。

この回答の投稿 https://askubuntu.com/a/1113206/315699 を使用することが提案されました

conda config --set changeps1 False

それを削除するには。

しかし、それはコンダ環境の表示を削除します。私はそれを常にアクティブに維持し、そのpythonおよびインストールされたパッケージにアクセスできるようにするために、これを常に(ベース)が領域を占有することなく参照する必要なく)削除できるようにしたい。

25

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

環境ごとに、_etc/conda/activate.d_ディレクトリ内のスクリプトはアクティベーション後に実行されます(非アクティベーションの場合も同様に_etc/conda/deactivate.d_スクリプト)。 _(base)_を削除するスクリプトを追加すると、 @ ewindes Suggestion のように、希望する動作が得られます。

Anaconda/Minicondaフォルダーのルートであるbaseのこのディレクトリを作成する必要がありました。例えば。、

_mkdir -p miniconda3/etc/conda/activate.d
_

次に、1行で簡単なファイルを作成します(例:_remove_base_ps1.sh_)。

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

新しいシェルを起動しても_(base)_は表示されず、ネストされた環境から非アクティブ化するとPS1の変更も処理されます。

注:末尾のスペースを保持する場合は、$ PS1を引用符で囲む必要があります。

24
merv

これは、起動時にcondaの基本環境がアクティブになるためです。

Auto_activate_baseパラメータをfalseに設定するには、次のように入力します。

conda config --set auto_activate_base false

20
Yokissa

PS1から "(base)"文字列を削除するコマンドを.bashrcに追加できます:

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

Macを使用している場合はハードリセットターミナルのみ。ターミナル>シェル>ハードリセットを開きます

わたしにはできる。

1
Kanish