MATLAB: Error when calling python module from MATLAB

pythonpython module

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.

Best Answer

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');
Related Question