不同 的Matlab版本支持的python版本是不一样的,就2019b来说,其支持2.7,3.6,3.7,这个信息可以在matlabroot/extern/engines/python下的setup.py中看到。如下图所示:
安装过程
1、首先找到你所安装的Matlab路径:
sudo find / -name MATLAB
比如:
/usr/local/MATLAB/R2019b
2、然后输入下面命令,进入Python文件夹:
cd matlabroot/extern/engines/python
比如:
cd /usr/local/MATLAB/R2019b/extern/engines/python
3、执行安装命令:
python setup.py install
4、之后就可正常导入了:
可能存在的问题
1、无法将库写入Python 3.x环境下,一直智能写在Python 2.7下,如下图所示:
解决的方法:
将上图中的写入Python 2.7的matlab文件夹,移动到自己的环境下:
比如我创建的conda虚拟环境是py36,则相应的操作为:
mv /usr/local/lib/python2.7/dist-packages/matlab/ ~/anaconda3/env/py36/lib/python3.6/site-packages/
这样便可解决问题。
2、如果还是不可以的话,可以试试如下操作:
1)在matlab中执行pyversion命令,查看使用的python版本号,如果不一致的话需要执行接下来2)之后的操作
2)查看自己的python路径:
Python 3.6.12 |Anaconda, Inc.| (default, Sep 8 2020, 23:10:56)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.16.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]: import sys
In [2]: sys.executable
Out[2]: '/home/xxx/anaconda3/envs/py36/bin/python'
In [3]:
3)在matlab中执行如下命令,修改使用的python版本:
>> pyversion '/home/xx/anaconda3/bin/python' //更改matlab默认的python版本
再次输入pyversion就可发现,使用的python版本已经修改。
参考文章:
https://blog.csdn.net/weixin_42077391/article/details/105625887