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

43 次查看(过去 30 天)
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.

采纳的回答

Abhinav Gupta
Abhinav Gupta 2021-6-14
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 个评论
José Felgueiras
José Felgueiras 2021-6-17
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Call Python from MATLAB 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by