Anaconda開発環境構築
Anaconda入れればいいだけじゃん、という感じだが、そうするとプロジェクトごとに異なるAnacondaのバージョンを使いたい、とかいう時に困るので、pyenvを使って環境を分ける方法について述べる。
(例えばAnaconda4が出たりした時に、旧プロジェクトは3のままがいい、とかあるので)
すでにいれちゃったAnacondaの削除
.bashrcから記載を削除
.bashrc(macだと.bash_profile)にAnacondaが勝手に書き込んだ以下を削除。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | # added by Anaconda3 5.3.1 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
\eval "$__conda_setup"
else
if [ -f "/anaconda3/etc/profile.d/conda.sh" ]; then
. "/anaconda3/etc/profile.d/conda.sh"
CONDA_CHANGEPS1=false conda activate base
else
\export PATH="/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda init <<<
|
anaconda-clean
anacondaはanaconda-cleanというコマンドを用意してくれているのでそれを叩く。
| $ anaconda-clean
$ rm -rf ~/.anaconda_backup
|
anaconda-cleanが見つからなかったらinstallする。
| conda install $ anaconda-clean
|
~/.anaconda_backupはバックアップなので消す。
念の為、/anaconda3も消す。
で完全に消えた。
Pyenvインストール
各Anacondaを分けるためにpyenvを用いる。
のでインストールして環境変数を設定しておく。
しておかないと動かないので注意。
Macは超簡単。
これでOK。あとはパスの設定。
| echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
|
が、Ubuntuとかの場合はaptでインストールできないので、git cloneして以下のように。
| git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
|
という感じで。
Anacondaインストール
Anacondaをインストールといっても直接はインストールしない。
pyenvのAnacondaを使う。
| $ pyenv install -l | grep anaconda3
anaconda3-2.0.0
anaconda3-2.0.1
anaconda3-2.1.0
(略)
anaconda3-2020.11
anaconda3-2021.05
anaconda3-2021.11
|
と、pyenvで使えるAnacondaのリストが出てくる。
ので、まずはインストールする。
ここでは、anaconda3-5.3.1を入れることにする。
| pyenv install anaconda3-5.3.1
|
そして、pyenvでanaconda3-5.3.1を有効にする。
| pyenv global anaconda3-5.3.1
|
このまま使うと環境が汚染されてダメなので、プロジェクトごとに使い分けるようにする。
例えばプロジェクトA用の環境を作る場合、
| $ mkdie project_a
$ cd project_a
$ conda create -n env_project_a python=3.8
|
この状態で、pyenv のバージョンを確認すると、
| $ pyenv versions
system
* anaconda3-5.3.1
anaconda3-5.3.1/envs/env_project_a
|
anaconda3-5.3.1/envs/env_project_a というのができてるのでそれにスイッチする。
| pyenv local anaconda3-5.3.1/envs/env_project_a
|
これで、このディレクトリ配下のanacondaは他のディレクトリ上での作業で汚染されることはない。
ここまでやっておいたら、globalな方の設定を念のため戻しておこう。
んで、anacondaを使うにはこのディレクトリ配下で、
| source ${HOME}/.pyenv/versions/anaconda3-5.3.1/bin/activate env_project_a
|
とする。そうしないとcondaはつかえない。
終了は、
で良い。
以上!