在python virtualenv中使用matlab engine (Ubuntu 18.04)

  • Post author:
  • Post category:python


本文讲述如何在python virtualenv中使用matlab engine。

1. 在ubuntu 18.04上安装matlab

可根据以下链接的指示进行安装(官方正版),其他版本请自行搜索下载。


Install Products Using Internet Connection

2. 创建virtual env

确保系统安装了python3-dev

$ sudo apt-get install python3-dev

安装python virtual env

$ sudo pip install virtualenv

创建virtual env

$ mkdir -p python3_ws/src 
$ cd python3_ws 
$ virtualenv py3venv --python=python3.6

初始化该virtual env

$ source ~/python3_ws/py3venv/bin/activate

也可将该命令行写进~/.bashrc文件,使得每次开启terminal后自动进行virtual env的初始化。进入virtual env后会有以下显示

3. 安装Matlab Engine

进入安装路径

$ cd /user/local/MATLAB/R2020a/extern/engines/python

本文安装的是2020 a版本(python 3.6),其中build-base的路径为上文所建立虚拟环境的bin文件夹,install路径为上述虚拟环境。


注意!一定要先进行初始化再进行engine的安装,否则系统默认build和install是基于Python2.7进行的,导致无法在python3环境中使用engine。

$ python setup.py install --prefix="/local/work/matlab20aPy36" build --build-base="/home/username/python3_ws/py3venv/bin" install --prefix="/home/username/python3_ws/py3venv/"

4. 调用matlab engine

在terminal中初始化虚拟环境后,进入python,然后进行matlab调用,若无问题则成功。

$ python 
Python 3.6.9 (default, Jan 26 2021, 15:33:00) [GCC 8.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. 
>>> import matlab 
>>> print(matlab.__file__) 
/home/user/python3_ws/py3venv/lib/python3.6/site-packages/matlab/__init__.py 
>>> import matlab.engine 
>>>

参考:


Install MATLAB Engine API for Python


Install MATLAB Engine API for Python in Nondefault Locations

(注:未经同意不允许转载)



版权声明:本文为linyijiong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。