Matlab-python interface broken ?

30 Ansichten (letzte 30 Tage)
Guillaume Leclerc
Guillaume Leclerc am 25 Sep. 2017
Kommentiert: Pierre Loicq am 7 Apr. 2021
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

Antworten (1)

Robert Snoeberger
Robert Snoeberger am 27 Sep. 2017
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.
  1. https://www.mathworks.com/matlabcentral/answers/265247-importing-custom-python-module-fails
  2 Kommentare
Guillaume Leclerc
Guillaume Leclerc am 28 Sep. 2017
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
Pierre Loicq am 7 Apr. 2021
Wow, this solution resolved a similar problem on matlab 2016b on linux (crash with segmentation faults and malloc errors).
Thank you very much

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Introduction to Installation and Licensing finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by