pyenv内のMinicondaでEMAN2仮想環境を構築する
提供: Eospedia
クライオ電顕備忘録に属する記事です。
概要
- Python環境について、Anacondaとお別れしてpyenv/pyenv-virtualenvに乗り換えることにした。
- Anacondaを使っていたらいつのまにか環境が壊れたようで発狂しそうになったため。
- Anaconda依存のEMAN2はpyenvとは別個にインストールしておけばよいのだが、環境を一元管理したいのでpyenv隷下にインストールすることにした。
- 実際やってみた感想としては、公式のMinicondaを用いたソースビルドよりも手間がかからず、良い。
- ただしEMAN2はPython3ビルドとした。
- 検証環境
- Ubuntu 18.04 (Docker, nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04)
更新履歴
- 2020/03/19 新規作成
手順
pyenv
- pyenvは異なるPythonバージョンを個別の仮想環境として分けて管理してくれるツール。
- 公式に従いインストールする。
- pyenv-virtualenvと併用すると、同じpyenvの仮想環境をベースとして、さらに細かく仮想環境を構築できる。今回はpyenvしか使わない。
Miniconda仮想環境の構築
- MinicondaはAnacondaのミニマルインストール版で、初期インストールされているライブラリが少ないこと以外はAnacondaと同じ。
- EMAN2の公式ではMinicondaを使ったビルド手順が紹介されている。
① pyenv installコマンドによりminiconda3-4.6.14仮想環境をインストールする。
pyenv install miniconda3-4.6.14
- 4.6.14指定としたのは、EMAN2公式で「Download and install this specific version (4.6.14) of Miniconda」との指示があるため。他のバージョンでどうなるかは検証していない。
- miniconda3なのでPython3が入る。EMAN2はPython2→3への以降作業中で、ぼちぼち安定に近づきつつあるらしいので、今回はPython3でビルドすることにした。
② miniconda3-4.6.14仮想環境をアクティベートする。
pyenv local miniconda3-4.6.14
EMAN2依存関係のインストール
Python関係
- EMAN2公式の、"Python 3 Environment (usable, but buggy 2/14/2020)"の項を参照した。
- ただしpyenvの中のcondaでさらに仮想環境を構築したりすると面倒なことになりそうだったため、仮想環境は構築せずにそのままインストールを進めることにした。
conda install eman-deps-dev=22.1 -c cryoem -c defaults -c conda-forge
- condaのアクティベートなどの操作は特に必要なかった。
それ以外
- CMake >= 3.14が必要。Ubuntu 18.04はaptだと3.10しか入らなかったので、筆者は3.16.5をソースからビルドしてインストールした。
- その上で、以下をインストールした。
sudo apt install libgl1-mesa-dev freeglut3-dev
- 筆者が中途半端にいじったUbuntu18.04のDockerコンテナでの結果なので、本来は上記より必要なものは多いハズ。