Calling python modules gives ModuleNotFoundError.

40 次查看(过去 30 天)
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 个评论
James Kondash
James Kondash 2022-4-18
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?

请先登录,再进行评论。

回答(1 个)

Al Danial
Al Danial 2022-4-21
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

类别

Help CenterFile 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