1.Matlab与Python的版本要相互对应
官网连接:Versions of Python Compatible with MATLAB Products by Release - MATLAB & Simulink (mathworks.cn)
2.用 pyenv查看matlab能不能找到python
若未找到,执行:
pyenv('Version', 'C:\Python\python.exe(你的python路径)');
你的python.exe可能会在anaconda之下。
再使用pyenv,出现python版本即可。
解释:
3.把当前文件夹添加到python搜索路径
(个人认为最好把要用的py文件和mat文件放在同一文件夹下,并在matlab中添加到路径里)
4.如果想使用py文件中的编写好的函数。
直接,py.pthon文件名.函数名()
5.如果想调用python文件。
py.importlib.import_module('py文件名')
注意每次更改python文件后都要重启一下matlab,否则运行的是更改前的py文件。我觉得重启是最简单无脑的办法。
也可以py.importlib.reload('py文件名')
6.报错解决
1)无法解析名称。 这可能是py内代码有问题。可能是mat没有找到py代码中使用的包。这个原因非常玄学,任何一个地方错了,他都会显示这个报错提示。
官网报错原因链接:https://ww2.mathworks.cn/help/matlab/matlab_external/undefined-variable-py-or-function-py-command.html
2)no module named ''
说明Matlab没找到包的路径在哪。
可以用:
insert(py.sys.path, int32(0), '包的路径')%添加包的路径在matlab中
py.sys.path %检查现在matlab能找到的路径都有谁
我个人在使用时遇到了此报错解决不了。已经试过重新安装下载包,且mtalab能找到的路径中有xlwt的路径,但还是报这个错误。如果有大神有其他解决问题非常感谢在评论区告诉我