Python not recocgnising matlab.engine import
27 次查看(过去 30 天)
显示 更早的评论
Hi, i'm trying to use Matlab R2023b with a Student license (installed not in the default directory) from Python. I'm using python from Anaconda on a virtual enviroment using version 3.9.18.
I've installed it from pip on some test and other times from the extern folder of Matlab.
When I try to execute I get the following error
Traceback (most recent call last):
File "c:\[...]\matlab.py", line 5, in <module>
import matlab.engine
File "c:\[...]\matlab.py", line 5, in <module>
import matlab.engine
ModuleNotFoundError: No module named 'matlab.engine'; 'matlab' is not a package
My python code is:
matlab_path = r'D:\Programs\Matlab'
# Start MATLAB engine
import matlab.engine
eng = matlab.engine.start_matlab(matlab_path)
# Call MATLAB function
result = eng.sqrt(4.0)
print(result)
# Stop MATLAB engine
eng.quit()
0 个评论
回答(1 个)
Karl
2023-12-21
The error message is telling you that Python isn't able to locate the matlab package. It's difficult to know why this is without knowing the details of how you performed the installation, and your environment setup. A workaround could be to add at the beginning of your script:
import sys
sys.path.append("/path/to/folder/containing/your/installation/of/matlab/package")
A better approach would be to work out why the matlab package can't currently be found. From the Python prompt, does:
import sys
print(sys.path)
return the search path that you expect? Again from the Python prompt, does:
import matlab.engine
give an error both with and without the virtual environment activated?
4 个评论
Karl
2023-12-22
Could you post the contents of _arch.txt? It looks as if there could still be a problem there.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Call MATLAB from Python 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!