LoginSignup
2
2

More than 1 year has passed since last update.

MATLABでPythonの仮想環境を使用する方法(Ubuntu20.04)

Posted at

目次

1. 実行環境
2. 試したこと
3. 対策手順

はじめに

 本記事は,自分がUbuntu20.04でMATLABからPythonを呼び出すとき,仮想環境で処理させるために少々時間を費やしたので,備忘録として作成しました。
 この記事のメインは3項目の対策手順ですが,2項目の試したことを行った場合に成功する可能性もあります。

1. 実行環境

・Ubuntu20.04
・MATLAB R2021b
・Python3.8

2. 試したこと

 まず,MATLAB R2021aで導入されたpyenvというPythonインタープリターの既定環境の詳細を取り出す関数を実行します。この関数の構文は以下の通りです。
pyenv('Version','executable')
 そのため,具体的なコードは以下のようになります。
pyenv('Version','~/anaconda3/envs/仮想環境名/bin/python')
 このコードを実行すると,Pythonのバージョンや,ライブラリなどのパスがanacondaの仮想環境に指定されると思います。
 ここで呼び出すPythonプログラムに以下のようなプログラムを用いてPythonのバージョンを表示します。

python.py
import sys
print(sys.version)

また,MATLAB側で上記のプログラムを呼び出し,pythonの出力を取り出したい場合は以下のように実行します。

matlab.m
command = "python ~/matlab.m"
status = dos(command)

この二つのプログラムによって呼び出したpythonプログラムがどのバージョンで実行されているのか確認できると思います。しかし,root環境と仮想環境のバージョンが同じである場合は,バージョンで確認しても判断が難しいので,root環境にはインストールされていないパッケージをimport 'パッケージ名'とするだけでも確認ができると思います。
 この方法で出来る方もいらっしゃると思いますが,自分の場合では成功しなかったので下に続きます。

3. 対策手順

 先ほどの方法で成功しなかった場合は,Ubuntuのターミナルの方で仮想環境をアクティベートし,MATLABを起動します。root環境(base)にいる際は3行を,特にどこにも入っていない場合は下の2行のみを実行します。

terminal
(base)$ conda deactivate
$ conda activate "環境名"
("環境名")$ MATLAB

 呼び出されたMATLABを使用して,2項目で述べた方法を実行すれば指定した仮想環境でのpython呼び出しが可能になると思います。
(ちなみにですが,2項目でパス指定を行うと,MATLABを閉じた後も残り続けると思いますので,再びパス指定などを行う必要はないかもしれません。)

 本記事は以上です。最後までお読みいただきありがとうございました。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2