Matlab-python interface broken ?
10 次查看(过去 30 天)
显示 更早的评论
Hello,
I was experimenting with the Matlab-python interface and it seems there are serious issues.
Here are two very simple things I tried:
matrix = py.numpy.zeros(int32([3 3]))
py.scipy.linalg.det(matrix)
and it outputs 1. Actually it outputs 1 for any matrix
On the other side if I use
py.numpy.linalg.det(matrix)
I get a bunch of segmentation falt and illegal instruction errors.
When I do it with a python interpreter (in the same terminal I started Matlab to make sure i have the same environment) the code works properly.
Does anyone have the same behavior or is that my environment is somehow broken ?
Thank you for your help
0 个评论
回答(1 个)
Robert Snoeberger
2017-9-27
When python is running within MATLAB, it ends up using MATLAB's MKL. It looks like your Python code is incompatible with MATLAB's MKL, probably due to incompatible compile-time options.
If you are on linux, then a workaround [1] to try is the following:
>> flag = int32(bitor(2, 8));
>> py.sys.setdlopenflags(flag);
Run this code after you start MATLAB.
2 个评论
Guillaume Leclerc
2017-9-28
This is AWESOME. Thank you for your help. Too bad I struggled days with the email support team for such a simple workaround.
Have a nice day
Pierre Loicq
2021-4-7
Wow, this solution resolved a similar problem on matlab 2016b on linux (crash with segmentation faults and malloc errors).
Thank you very much
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Call Python from MATLAB 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!