MacでNEURONをPython3で動かす
神経回路や神経活動を模倣できるオープンなシミュレーション「NEURON」のpython環境を導入をしてみたのでメモを残しておきます。試した環境はMac OS XのYosemite(10.10.5)、homebrewでインストールしたpython3.4.3です。
参考サイト(公式インストール手順)
Compiling the standard distribution under OS X | NEURON
必要なライブラリをインストール
WindowsやLinuxはpip3 install neuron
でいけるらしいですが、残念ながらMacはサポートされていないので自分で色々揃える必要があります。
ライブラリを揃えるために、便利なhomebrew
を使用します。
MacOSX - パッケージ管理システム Homebrew - Qiita
brew install autoconf brew install automake brew install libtool brew install openmpi
インストールの準備
最初にwhich gcc
でMacデフォルトのgcc(/usr/bin/gcc)が使われることを確認しておきます。このgccを利用しないと並列環境関連のコードのコンパイルでエラーが出ます。
which gcc
# /usr/bin/gcc
続いてインストール先のディレクトリを適当に作っておきます。NEURON-7.4
のバージョンは最新のものにしておくと無難です。
export IDIR=/Applications/NEURON-7.4 mkdir $IDIR mkdir $IDIR/iv mkdir $IDIR/nrn
ivをインストール
下記サイトのiv-mm.tar.gz
からivのソースファイル等をダウンロードします。
Get the standard distribution's source code | NEURON
試したタイミングではバージョン19でしたが、最新のものを使うのが無難だと思います。その際は下記コマンドも適宜変更する必要があります。
cd iv-19 sh ./build.sh ./configure --prefix=$IDIR/iv make make install
nrnをインストール
pipを利用していると、このインストールでエラーが出るので対処しておきます。pipのprefixのデフォルト値が悪さするようです。
参考 : python - DistutilsOptionError: must supply either home or prefix/exec-prefix -- not both - Stack Overflow
ホームディレクトリ直下に.pydistutils.cfg
を作成(~/.pydistutils.cfg
)し、次のように編集します。
[install] prefix=
では、コンパイル&インストールです。--with-nrnpython
の後に自分の利用したいpythonを書きます。--with-paranrn
がないと、後々エラーが出ます。
cd ../nrn-7.4 sh ./build.sh ./configure --prefix=$IDIR/nrn --with-iv=$IDIR/iv --with-nrnpython=python3 --with-paranrn make make install make after_install
pythonで使えるようにする
まず、出来上がった実行ファイルにパスを通します。
ホームディレクトリ直下に.bash_profile
(~/.bash_profile
)を作成し、以下を追加します。
export $IDIR=/Applications/NEURON-7.4 export IV=$IDIR/iv export N=$IDIR/nrn export CPU=x86_64 export PATH=$IV/$CPU/bin:$N/$CPU/bin:$PATH
最後に、できたneuronモジュールをPATHの通っている適当な場所に配置します。
cd /usr/local/lib/python3.4/site-packages ln -s /Applications/NEURON-7.4/nrn/lib/python/neuron
これでnrngui -python
で起動したり、python3
やipython3
で起動後にimport neuron
できるようになるかと思います。