Calling python modules gives ModuleNotFoundError.

I have inherited some MATLAB code which calls some python scripts (authored by the same person, but they are no longer with the organization). I am wondering if the error I am getting is due to some missing dependencies and/or files/directories? Upon executing the script I get the following errors:
Error using <frozen importlib>_find_and_load_unlocked (line 973)
Python Error: ModuleNotFoundError: No module named 'theta_controller'
Error in <frozen importlib>_find_and_load (line 991)
Error in <frozen importlib>_gcd_import (line 1014)
I put the theta_controller.py in the same folder as the main MATLAB script doing the calling.
Are there any obvious steps I have missed so python scripts can be called by MATLAB?
I am a beginner in using MATLAB, Python, and MacOS so any help would be appreciated.

3 个评论

How did you call theta_controller.py from MATLAB?
I believe the script calls the python module as follows:
theta = py.importlib.import_module('theta_controller');
The theta_controller.py file is in the same directory as the parent MATLAB script I am trying to run.
Maybe I'm missing some dependencies, environments, and/or path specifications?
I got the same error. How to solve it? Thanks!

请先登录,再进行评论。

回答(1 个)

Does the MATLAB code change directories before calling the import command?
If you interactively invoke the import in a fresh MATLAB session as you've shown, with
>> theta = py.importlib.import_module('theta_controller')
do you also get the errors?
Will the module import correctly in Python? Open a Python session and try
import theta_controller

类别

帮助中心File Exchange 中查找有关 Call Python from MATLAB 的更多信息

产品

版本

R2021a

标签

Community Treasure Hunt

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

Start Hunting!

Translated by