How to solve "MATLAB cannot determine whether "py" refers to a function or variable" under SPMD.

2 views (last 30 days)
Good day!
I need to use "py" function to call python module in MATLAB.
It worked until I used "py" command inside the body of an SPMD statment.
I got an error messege: MATLAB cannot determine whether "py" refers to a function or variable.
How can I solve this problem and be able to call python module even in the body of an SPMD statement?
Sincerely,
Minjeong

Answers (1)

Shrinidhi KR
Shrinidhi KR on 8 May 2020
Verfiy that none of these points mentioned in this link is causing the issue.
I tried to use "py" command inside spmd statement in this way and it worked fine. To make sure the python module is in the path
P = py.sys.path;
if count(P,'path of your python module') == 0
insert(P,int32(0),'path of your python module');
end
spmd
N = py.list({'Jones','Johnson','James'});
py.mymod.search(N)
end
This is the python script
# mymod.py
"""Python module demonstrates passing MATLAB types to Python functions"""
def search(words):
"""Return list of words containing 'son'"""
newlist = [w for w in words if 'son' in w]
return newlist

Community Treasure Hunt

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

Start Hunting!