MATLAB not converting 2D arrays to Python arrays. "No module named 'libmwbuffer'" error.

43 views (last 30 days)
Hello,
I am trying to use Python with MATLAB. I am unable to pass certain MATLAB variables, namely arrays of 2 or more dimensions.
An excerpt of my code:
pyenv; % Version 3.8
np = py.importlib.import_module('numpy');
a = [1 2; 3 4];
a_py = np.array(a)
I get the error:
% Python Error: ModuleNotFoundError: No module named
% 'libmwbuffer'
% Python function '' might not be able to accept at least one
% input argument at position 1. The function may require a
% specific data type that you can construct from the MATLAB
% array. For more information, see the documentation for
% Python function '' and working with Python arrays.
Does anyone know what I am doing wrong? Do I have to install additional modules? Should I change my version of Python?
Thank you.

Accepted Answer

Abhinav Gupta
Abhinav Gupta on 14 Jun 2021
Hi,
I think this issue occured because of unsupported version of Python on your system. You could refer to the links below to install Matlab-supported Python version in accordance with your Matlab version.
Hope it helps.
  1 Comment
José Felgueiras
José Felgueiras on 17 Jun 2021
Thank you for the reply.
Python version 3.8 is compatible with R2020b, not R2020a. That is why it was failing.
Downgrading to 3.7 fixed it.

Sign in to comment.

More Answers (0)

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!