Mayavi on jupyter notebook

Mayavi は3Dでのデータ可視化を支援するライブラリ. これを Jupyter notebook で使えるようにするまでのメモ(macOS High Sierra).

References

  1. Jupyter で 3D 表示 - Mayavi ライブラリ
  2. Tips and Tricks in Mayavi 4.5.0
  3. Mayavi on GitHub

Mayavi のインストール

Mayavi自体は以下のようにして pip でインストールすることができる.

$ pip install mayavi

しかし,この Mayavi を jupyter notebook で動作させるためには,Qt という表示用ライブラリを Python がら利用するための PyQt なるものが必要みたいで,それのインストールは pip からは行うことができなかった. そのため,Homebrew を用いて,

$ brew install qt
$ brew install pyqt

として,Qt および PyQt をインストールした. インストール後は,

$ export PYTHONPATH=$PYTHONPATH:/usr/local/Cellar/pyqt

とするか,~/.bashrc もしくは ~/.bash_profile に上記を書きこんでそれを反映させるかして,python が PyQt を使えるようにする.

Ref. [2] に従い,

$ jupyter nbextension install --py mayavi --user

というおまじないもやっておく.

Github版Mayaviのインストール

pip からは安定版(?)が得られるが,どうもpip版は最新の VTK (8.1.0) との相性が良くないらしく,エラーで何も表示されないことがあったので,それが解消されているGithub版をインストールする方法を載せておく.

  1. GithubからZIPファイルをダウンロードしてきて展開.

  2. mayavi-master/内ディレクトリにて,

     :::bash
     $ python setup.py build
     $ python setup.py install
     or
     $ python setup.py install --prefix=~/local/
    

    --prefixオプションを指定した場合はそれ以下に mayavitvtk がインストールされる. build を行わないと TVTK が正常に動作しないので注意.

Jupyter notebook での使用

from mayavi import mlab
mlab.init_notebook()

とすることで,notebook 上で Mayavi が使えるようになり,

s = mlab.test_plot3d()
s

で,3D表示がされれば成功.

Issues

  1. jupyter notebook では成功したが,jupyter lab では表示されなかった.

  2. init_notebook() のところで,最初,

     An exception has occurred, use %tb to see the full traceback.
    
     SystemExit: This program needs access to the screen. Please run with a
     Framework build of python, and only when you are logged in
     on the main display of your Mac.
    

    のようなエラー出力が表示されるが,もう一度実行すると,

     Notebook initialized with x3d backend.
    

    のようになり,問題なくなる…