Error when calling python module from MATLAB

2 次查看(过去 30 天)
Hi,
I am trying this MATLAB example to call a user-defined python module (mymod.py).
When I tried running
py.mymod.search({'john','johnson','james'})
I got this error message:
Error using py.mymod.search. The specified superclass 'python.internal.MutableSequence' contains a parse error, cannot be found on MATLAB's search path, or is shadowed by another file with the same name.
I know the module is on the path because MATLAB returns the related information when I run
py.importlib.import_module('mymod')
So it must be due to a parsing error or an identical name. How should I solve this problem? Does "the same name" in the error message refer to mymod or the superclass name MutableSequence?
Thanks in advance.

采纳的回答

Robert Snoeberger
Did you do anything to change MATLAB's search path?
To solve this problem you need to make sure the MATLAB package python.internal is on MATLAB's search path. Use Jan Simon's answer to this question to check if the following folder is on the MATLAB path.
Folder = fullfile(matlabroot, 'toolbox', 'matlab', 'external', 'interfaces', 'python');
  1 个评论
cho_the_wombat
cho_the_wombat 2015-7-2
It turned out python.internal was not on MATLAB's search path. I added the folder and now am able to run python in MATLAB. Thank you!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Call Python from MATLAB 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by