MacOSでAnaconda3を用いてEMAN2仮想環境を構築する
提供: Eospedia
目次
この記事について
- Macの場合で、Anaconda3をPython環境として使ってEMAN2をソースからビルドする方法について書き残しておく。
- 公式手順は https://blake.bcm.edu/emanwiki/EMAN2/COMPILE_EMAN2_ANACONDA だが、ちょっと違う方法でやってみた。
- 2019年8月23日実施。
実行環境
- Mac mini (Late 2012)
- macOS Mojave 10.14.6
- XCodeとかCommandLineToolとかはインストール済み
手順
Anaconda3のインストール
インストーラのダウンロードとインストールの実施
https://www.anaconda.com/distribution で Python 3.7 version の 64-Bit Graphical Installer (653 MB) をダウンロード。
Anaconda3-2019.07-MacOSX-x86_64.pkg をダブルクリックしてインストールを実施した。
※ 公式手順ではAnaconda2 (Python2をベースとするAnaconda)だし、EMAN2はPython2依存だが、今回はAnaconda3でPython2仮想環境を用意し、それを使ってビルドする。
condaのアップデート
ターミナルを開いて、
# アップデート > conda update -n base -c defaults conda # バージョン > conda --version conda 4.7.11
(※ > はコマンドプロンプト)
EMAN2仮想環境の作成
EMAN2仮想環境作成
> conda create -n eman-env cmake=3.9 python=2.7 -c defaults
上記の様にconda createで python=2.7 とすれば、Python3ベースのAnaconda3でもPython2環境を構築できる。
EMAN2仮想環境へ必要物をインストール
> conda install -n eman-env eman-deps=14 -c cryoem -c defaults -c conda-forge
EMAN2仮想環境への切り替え
> conda activate eman-env
公式( https://blake.bcm.edu/emanwiki/EMAN2/COMPILE_EMAN2_ANACONDA )では "source activate eman-env" となっているが、それは古い情報で、新しいAnacondaでは conda activate コマンドで切り替えられる。
EMAN2のビルドとインストール
ソースコードの用意
Githubからソースを取ってくる。~/SoftwaresにEMAN2を置くことにする。
> cd ~/Softwares > git clone https://github.com/cryoem/eman2.git # 2019年8月現在の最新の安定版をチェックアウト > git checkout v2.3
ビルド
> cd ~/Softwares/eman2 > mkdir build && cd build > cmake .. > make -j
makeでものっそい警告吐かれるけど気にしない。
インストール
> make install
~/anaconda3/envs/eman-env/bin/ にEMAN2のプログラムがインストールされる。
テスト
> make test Running tests... Test project /Users/kttn/Softwares/eman2/build Start 1: imports 1/5 Test #1: imports .......................... Passed 3.95 sec Start 2: test-EMAN2DIR 2/5 Test #2: test-EMAN2DIR .................... Passed 2.35 sec Start 3: nose-tests 3/5 Test #3: nose-tests ....................... Passed 16.21 sec Start 4: progs 4/5 Test #4: progs ............................ Passed 145.37 sec Start 5: py-compile 5/5 Test #5: py-compile ....................... Passed 5.19 sec 100% tests passed, 0 tests failed out of 5 Total Test time (real) = 173.17 sec