インストール時に聞かれるconda initって何?
Do you wish the installer to initialize Anaconda3 by running conda init?
yesにすると、
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/user/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/user/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/user/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/user/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
が.bashrcに勝手に追加される。
これは毎回conda initを実行するのと同じことですが、.bashrc に書かれることで、ターミナルを立ち上げるたびに、自分でconda initをしなくても良くなります。いい感じに自分が使っているシェル(bashとかtcshとかzshとか)に対してanacondaを適合してくれます。
conda の機能の主要な部分は、conda が起動されているシェルと直接対話することを必要とします。conda activate と conda deactivateコマンドは、特にシェルレベルのコマンドです。つまり、対話するシェルの状態 (環境変数など) に影響を与えるものです。他のコアコマンド、例えば `conda create` や `conda install` も必然的にシェル環境と相互作用します。そのため、これらは各シェルに特有の方法で実装されています。それぞれのシェルを使用することができます。
conda installで見つからないパッケージはpipでインストールするのではなく、まず、conda-forgeから探し、それでもなければpipでインストールする
pipは誰でもパッケージを作れば、公開できるので、玉石混交です。もっというと、害のあるパッケージがあるかもしれません。conda installで見つかるパッケージはanacondaの運営会社が一応チェックした上で管理しています。
当然、conda本家のリポジトリにはないパッケージは無数にあります。
そういったパッケージを入れたい場合(科学系のパッケージはマイナーなので本家にはないことが多いですね)は、conda-forgeからインストールします。
conda-forgeは、github上で組織されているコミュニティ主体のパッケージコレクションで、 conda-forgeで管理されているパッケージは13000を超えています。
anacondaを使う場合は、まずはconda本家を探す。それでなければ、conda-forgeを探す。例えばstarfileというパッケージはconda本家には存在しないが、conda-forgeを探せばある。
conda install starfile -c conda-forge
それでも無ければpipでインストールすることになりますが、pipとanacondaはお互い何を管理しているから知らないので、その状況ではバッテイングしてしまうことがあります。
pip install -e . みたいなことがしたい場合
conda develop .
uninstallしたい場合は、
conda develop -u .
コメント