.bashrcでconda環境をアクティブにするにはどうすればよいですか?


18

Pythonでのパッケージ管理にCondaを使用しています。ほとんどいつも使用している基本的な環境があり、ターミナルを開いたときにデフォルトでロードされるようにしたい。.bashrc環境を読み込むように設定するにはどうすればよいですか?

これまでのところ、私はを試しましたsource activate myenvが、私の理解では、.bashrcファイル内の実際のパスを指定する必要があります。その後、試してみましたsource ~/anaconda3/envs/myenv/bin/activate。これはエラーをスローしませんが、環境をアクティブにしません。Ubuntu 16.04を実行しています。

回答:


21

承認された回答が古くなっている可能性があります。ドキュメントから:

シェルがBashまたはBourneバリアントの場合、現在のユーザーに対してcondaを有効にします。

$ echo ". /home/<user>/miniconda3/etc/profile.d/conda.sh" >> ~/.bashrc

または、すべてのユーザーについて、condaを有効にします

$ sudo ln -s /home/<user>/miniconda3/etc/profile.d/conda.sh /etc/profile.d/conda.sh

上記のオプションは 'conda'コマンドを永続的に有効にしますが、PATHにcondaのベース(ルート)環境を配置しません。これを行うには、

$ conda activate

端末で、または基本環境をPATHに永続的に配置するには、次を実行します。

$ echo "conda activate" >> ~/.bashrc

conda 4.4より前のバージョンでは、condaをアクティブにするための推奨される方法は〜/ .bashrcファイルのPATHを変更することでした。次のような行を手動で削除する必要があります

export PATH="/home/<user>/miniconda3/bin:$PATH"

^^^上記の行は〜/ .bashrcファイルに含まれていません。^^^


ソフトリンク方式はRADです!
abalter

.bashrcに追加しても機能しない場合は、.profileファイルに追加してみてください。
oya163

4

Anacondaのインストール中に、このような.bashrcファイルにエントリが追加されているはずです

export PATH="/home/<user>/anaconda3/bin:$PATH"

ない場合は、を実行してインストールを確認し、which condabinまでのパスで.bashrcを更新します。

これは「conda」実行可能ファイルを指し、condaのアクティブ化を処理するためのパスを設定します。

エクスポートコマンドの後に次の行を追加します。

source activate <your_environment>

そこsource ~/.bashrcから、現在のシェルに環境をロードできます。


1

bashを使用する場合:

$ cd YOUR_PATH_ANACONDA/bin
$ ./conda init bash

自動的にが編集されます.bashrc

リロード:

$ source ~/.bashrc

テスト(Spyderのインストール):

$ conda install -c anaconda spyder

スパイダーを実行

$ spyder

1

正しい修正

(バージョン4.6以上で機能)

find . -type f -name 'conda' condaバイナリの場所を確認し、そこにcdするか、完全なパスを指定して実行します。

conda config --set auto_activate_base true

非アクティブ化するには、同じようにfalseを使用してください。明らかに:

conda config --set auto_activate_base false

クイック&ダーティフィックス#1

以下を.bashrcに貼り付け、明白なものに置き換え、.bashrc(source .bashrc)をソースします。Miniconda3バージョン> = 4.6で動作するはずです

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/<YOUR_USER>/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/<YOUR_USER>/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/<YOUR_USER>/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/<YOUR_USER>/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

これは私自身の.bashrcからのカットアンドペーストです。コメントは削除できますが、区切り文字として便利です。

クイック&ダーティフィックス#2

お気に入りの削除コマンド(rm -rf ~/miniconda3)を使用してすべてを削除し、インストールスクリプトを再度実行して、自動起動するかどうかを尋ねるプロンプトに注意してください。

あなたのボートを揺さぶるものは何でも:)


0

新しいbashターミナルを起動したときにconda環境をデフォルトでアクティブにしたい場合は、~/.bashrcファイルに次の行を追加できます。

export PATH=<PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>:$PATH

あなたは交換する必要があります<PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>あなたのconda環境へのフルパスで上記の行に。

あなたの場合、~/.bashrcファイルに次の行を追加できます:

export PATH=~/anaconda3/envs/myenv/bin:$PATH

基本的binに、PATHの最初のエントリとしてconda環境のディレクトリを追加します。これは、基本的に、activate便利なスクリプトが行うことです。この後、新しいbashターミナルを開くと、conda環境はデフォルトで「アクティブ化」/「有効化」されます。

表示した(myenv)場合とは異なり、bashプロンプトのプレフィックスが表示されない場合があることに注意してくださいsource activate myenv。プロンプトのプレフィックスも表示したい場合は、次の行を~/.bashrcファイルに追加します。

export PS1="(myenv)"$PS1

(myenv)bashプロンプトのプレフィックスとして表示されるカスタム名はどこに付けられますか。


私にとってはこれでうまくconda info --envsいきますが、それでも現在のroot環境を示しています。source activate py34〜/ .bashrcに単に追加できない理由はありますか(py34は私の環境名です)?動作するようですが、これが推奨されなかった理由はありますか?
BStateham

PATH変数がbinbase / root binフォルダーではなく、conda環境のフォルダーの下のフォルダーを指していることを確認してください。例:~/anaconda3/envs/myenv/binでなく~/anaconda3/bin)はい。あなたは、単にアナコンダbinフォルダ(例:を追加することができ~/anaconda3/bin、システムのPATHに)、その後、source activate ENV_NAMEあなたの中~/.bashrc~/.bash_profile。構成ファイル(~/.bashrcまたは~/.bash_profile)自体がソースであり、新しいbashターミナルが開かれたときに実行されないため、これは推奨されませんでした。
Praveen Palanisamy

0

これはどこか上にあるかもしれません(しかし、最初は間違っていました)。重要なのは、bashrcファイルで最初にcondaパスをエクスポートすることです。したがって、conda(またはminicondaなど)へのパスは境界conda activate <env>線より上になります。形式は次のとおりです。

export <path to conda bin>

<any other conda initializations>

conda activate <env>


-1

conda環境をアクティブにするには、これを.bashrcファイルの最後に配置して.bashrcオープンターミナルを開き、ホームディレクトリに移動します。Run / type nano .bashrc、プロンプトで、ファイルの最後に次のように入力します。

conda activate my_environment_name

.bashrcファイル(Ctrl+ Shift+ o)を保存して、Enter キーを押します。


私はコンダの専門家ではありませ~$んが、あなたが何を参照しているのか~$(それは何でもない)と言えるでしょう。~または$HOME参照します/home/user/
j-money

はい「〜」は私が言及しているものです。だから、家の環境で〜$が誰かが理解できるように説明しようとしているのを見ると、ドル記号に反対票を投じたことは残念です。これは、手元にある実際の質問に関して役立つ可能性があるためです...
Alice

残念ながら、私はコメントしましたが、反対票を投じませんでした(そのため、余計なことはしませんでした)。いずれ~$にしても、パスでなくても、正しいパスとして誰がどのように理解できますか?
j-money

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