Anaconda環境にMATLABエンジンをインストールする

先人たちのブログを見てもなかなかうまくいかなかったのでメモ。

Mathworkspython用のmatlab APIを提供している。
これを使えば、pythonからmatlabの機能を呼び出せるようになる。

  • 環境
    • Windows10
    • MATLAB R2018b
    • Anaconda3

手順

まずいきなり使用可能なpythonバージョンに制約がある。
MATLAB R2018だとpython2.7, 3.5, 3.6しか使えないので、
condaでいずれかのバージョンでpython環境を整えておく。
このバージョンの指定はMATLABのバージョンに依存しているので注意。

MATLABのコマンドウィンドウでmatlabrootと打って、
MATLABのインストールフォルダを見つける。
私の場合は'C:\Program Files\MATLAB\R2018b'だった。
インストールしているMATLABのバージョンによって異なるはず。

次に、コマンドプロンプト(Anaconda prompt)を管理者権限で起動する。
管理者権限でないとインストールの時にうまくいかないので注意。

MATLABインストールディレクトリの中の以下のフォルダに移動し、
そこにあるpython.exeを削除し、
Anacondaのインストールフォルダを指定した上でsetup.pyを実行する。

cd "matlabroot\extern\engines\python"
rm python.exe
python setup.py install --prefix="<anacondaのインストールフォルダ>"

これでインストール完了。
使うときに<anacondaのインストールフォルダ>を環境変数に入れればOK.

import sys 
sys.path.append("<anacondaのインストールフォルダ>\\lib\\site-packages")
import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)