Conda環境の削除


223

condaで作成した特定の環境を削除したい。どうすればそれを達成できますか?私がアクティブなtestenv環境を持っているとしましょう。私は、以下のドキュメントに従って、以下を試しました:

$ conda env remove

CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again

次に、それを非アクティブ化します。

$ source deactivate

コマンドをもう一度実行して削除しようとしても、同じエラーが発生します。ここで何が問題になっていますか?


2
端末を管理者として実行していることを確認してください。そうしないと、コマンドはエラーをスローせずに正常に実行されますが、envは削除されません。
सत्यमेवजयते

回答:


308

あなたはおそらくConda環境を完全に非アクティブ化しなかったでしょう-Condaで使用する必要があるコマンドはconda deactivate(古いバージョンではを使用するsource deactivate)であることに注意してください。そのため、試す前に、新しいシェルを起動してその環境をアクティブ化することをお勧めします。次に、非アクティブ化します。

次のコマンドを使用できます

conda env remove -n ENV_NAME

その名前の環境を削除します。(--nameと同等-n

必要に応じて、環境を作成および削除するときでは-p /path/to/envなく、使用したい場所に環境を配置することも-n ENV_NAMEできます。彼らはあなたのコンダのインストールに住んでいる必要はありません。

更新、2019年1月30日:Conda 4.6以降、conda activateコマンドはすべてのプラットフォームで環境をアクティブ化する新しい公式の方法になります。変更はこのアナコンダのブログ投稿で説明されています


あなたが正しい、投稿を書くときの私の間違い。という意味source deactivateです。ありがとう
レナートダマス

4
実際に使用することもできconda deactivate、同様に機能します。少なくともバージョン4.4.11で
Renato Damas

ありがとう。しかし、それだけdeactivateではありませんよね?
holdenweb 2018年

はい、source deactivateまたはいずれかconda deactivate
Renato Damas

EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924

68

環境がアクティブでないことを確認した後、次のように入力します。

$ conda env remove --name ENVIRONMENT

3
これは私が必要とした情報です。それをconda env --help与えていたら良かったのに。
R. Schreurs

EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
user924

1
ヘルプテキストの更新の失敗に関するバグを提出しましたが、初心者にとっては簡単な問題としてマークされていたので、修正の見込みがあります。
holdenweb

28

私のために働いた公式ドキュメントの方法:

conda remove --name myenv --all

または単にconda env remove --name myenv

環境が削除されたことを確認するには、ターミナルウィンドウまたはAnacondaプロンプトで、次のコマンドを実行します。

conda info --envs

表示される環境リストには、削除された環境は表示されません。

次のように、anaconda3の環境フォルダーに、anaconda3インストールフォルダー内の削除された環境の空のフォルダーがリストされる場合があります。

/opt/anaconda3/envs

19

これを達成するには、合計3つの方法があります。という名前の環境があるとするとmyenv

  1. conda env remove --name myenv-nのショートカットです--name

  2. conda remove --name myenv --all

  3. envフォルダーを直接削除します。(非推奨)

    # list environments and their locations
    conda env list
    # or
    # conda info --envs
    
    # delete the folder listed
    rm -rf /Users/username/.local/share/conda/envs/myenv

再確認を求めるメッセージが表示されに環境削除したい場合。-y、のショートカットを使用し--yesます。(グローバルに使用するには、condaのサイレントプロンプトを確認してください)

conda env remove -n myenv -y
conda remove -n myenv --all -y

参考文献

  • conda env --help
  • conda remove --help

1
そして、なぜenvフォルダを直接削除することが推奨されていないのですか?何がうまくいかないのでしょうか?
NoName


13

削除する前に、まず環境を非アクティブ化する必要があります。次のコマンドを使用してconda環境を削除できます

環境名が "sample_env"であるとすると、次のコマンドを使用してこの環境を削除できます。

source deactivate    
conda remove -n sample_env --all

'--all'はすべての依存関係を削除するために使用されます


13

で作成した環境--prefix-pフラグを用いて除去しなければならない-pフラグ(ではありません -n)。

例えば: conda remove -p </filepath/myenvironment> --all、ここで</filepath/myenvironment>環境への完全または相対パスで置換されています。


1
私の環境名には、私のenvのようスペースが含まれています。この方法は、conda env remove -p path/to/my\ env一方で働いていたconda env remove -n my\ envconda env remove -n "my env"しませんでした。
ベン


8

source deactivate削除する前に環境を非アクティブ化するために使用し、ENV_NAMEを削除する環境に置き換えます。

source deactivate
conda env remove -n ENV_NAME

7
説明、コードが何をするか、これが質問の問題にどのように対処するかは、ほとんどの場合、回答の改善に失敗します。
MBTは

EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENV_NAME
user924

7

最初に環境を非アクティブにして、基本環境に戻ります。ベースから、コマンドを実行できるはずconda env remove -n <envname>です。これはあなたにメッセージを与えます

Remove all packages in environment C:\Users\<username>\AppData\Local\Continuum\anaconda3\envs\{envname}:


5

あなたが拠点にいる場合:

(base) HP-Compaq-Elite-8300-CMT:~$ 

env_nameを削除するには:

conda env remove -n env_name

すでにenv_name環境にいる場合:

(env_name) HP-Compaq-Elite-8300-CMT:~$ 

非アクティブ化してから削除:

conda deactivate env_name

conda env remove -n env_name

4

これは私のために働きました:

conda env remove --name tensorflow

私も働いた。conda env remove --name <name of your environment> 後で、環境フォルダーをAnacondaまたはminicondaのインストール場所から削除できます。Anaconda\envs\<name of your environment>またはMiniconda\envs\<name of your environment>
Pawar


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.