私のanaconda(4.5.4)は、Linuxターミナル(bash Shell)経由で使用するだけで問題なく動作します。ただし、bashスクリプトでcondaコマンドを実行してもまったく機能しません。
スクリプトtest.shには、次の行が含まれています。
#!/bin/bash
conda --version
conda activate env
現在、bash test.sh
を実行すると、エラーtest.sh: line 2: conda: command not found test.sh: line 3: conda: command not found
が発生します
Anacondaバージョン> 4.4で推奨されるように、私の.bashrcには
export PATH="/opt/anaconda/bin:$PATH",
だが
. /opt/anaconda/etc/profile.d/conda.sh
ありがとうございました。
@darthbithのコメントのおかげで問題を解決しました。
conda
はbash関数であり、bash関数は独立したシェル(たとえば、bashスクリプトを実行して開く)に伝播できないため、次の行を追加する必要があります
source /opt/anaconda/etc/profile.d/conda.sh
condaコマンドを呼び出す前にbashスクリプトに追加します。そうでなければ、bashはcondaについて知りません。
@randomwalkerのメソッドが機能せず、スクリプトがshなどのより基本的なシェルで実行されない場合、2つのオプションがあります。
これをスクリプトに追加します:eval $(conda Shell.bash hook)
スクリプトを次のように呼び出します:bash -i <scriptname>
インタラクティブ環境で実行できるようにします。