MATLAB MCR容器安装过程:‘Could not initialize Python MATLAB Data Array‘ 和 ‘ImportError: libpython3.8.so.1.0

解决MATLAB MCR安装过程中的错误:'Could not initialize Python MATLAB Data Array' 和 'ImportError: libpython3.8.so.1.0 cannot open'

说明

您可以只读粗标题和我标记的文字。
在工作的过程中,需要将python调用MATLAB的工程封装到docker容器中,这时首先需要准备一个能够运行python以及调用MATLAB的环境的镜像容器。我找了一个已经安装好python的容器,然后就是安装mcr2021a,后面就是遇到的问题和解决方案啦。

容器中安装mcr2021a for linux过程

1.进入容器(前提是容器已经run起来了)
docker exec -it [你的容器名] /bin/bash

2.下载mcr2021a for linux(下载到容器)
MATLAB官网MCR下载链接

3.解压,(在容器中解压,记住解压的目录,等会可以删除释放空间)

unzip MATLAB_Runtime_R2021a_Update_8_glnxa64.zip

4、解压后,静默安装,因为容器一般不提供界面,所以需要静默安装

./install -mode silent -agreeToLicense yes

这个命令的执行,是在解压后的目录下,一般安装还需要切换到高级权限下,在此就不做强调了,毕竟都用上linux了,这些都是基本操作了。

到这里,应该安装的过程会自动完成。一直到出现success。

5、配置MCR环境
根据官网说明,需要手动加环境变量
修改~/.bashrc文件,末尾添加

export LD_LIBRARY_PATH=/usr/local/MATLAB/MATLAB_Runtime/v910/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v910/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v910/sys/os/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v910/extern/bin/glnxa64:$LD_LIBRARY_PATH

在这里插入图片描述
6、刷新环境变量

source ~/.bashrc

7、安装matlab库,这个库是用来调用matlab函数、数据结构等

pip install matlab

到这里可能并没有完。还要测试python调用matlab的环境
测试的过程就是,写一段matlab代码,用matlab2021a生成python package。
再写一个python调用python package的代码。
至于怎么写怎么调用,请参考我前面的文章。
调用起来,就出问题了…

错误’ImportError:libpython3.8.so.1.0 cannot open’解决方案

这个问题吧,我明明安装了python3.8.10,都能正确执行,但是就是会出现这个错误。
在这里插入图片描述

sudo apt-get -y purge python3.8-dev

安装这个开发库,就可以正常了。
等等,还有其他问题…

错误’Could not initialize Python MATLAB Data Array’解决方案

Exception caught during initialization of Python interface. Details: Could not initialize Python MATLAB Data Array
在执行python测试程序的时候,出现了这个问题。
在这里插入图片描述
这个问题的还真的不好解决,百度和bing好像能提供的参考不太多,也没有有效的解决方案。
最后,终于还是在官网得到了答案。
在这里插入图片描述
官网问题描述

在这里插入图片描述
交换上面两个的位置!
嗯,看到这个提示修改,果然有效。
在这里插入图片描述

废话

解决这个问题的时候,我还走了很多的弯路。
我开始是在win10下的matlab2021a将matlab程序转为了python package。
win10下,使用python3.8.10和mcr2021a能够正常调用。
但是将转好的python package拷贝到ubuntu下测试就出现了这种莫名奇妙的问题
以为是转出的python package不能跨平台,所以又花了几天时间,下载matlab2021a for linux,安装虚拟机测试,下载镜像等等…

结果是,win10下matlab2021a转成的python package 是可以在linux下使用的,跟matlab无关!

magnet:?xt=urn:btih:EB1C3A0864431D21A342F09CC75831879CB0E374&tr=http%3A%2F%2Fbt4.t-ru.org%2Fann%3Fmagnet&dn=Mathworks%20Matlab%20R2021a%20(9.10)%20Linux

希望能够帮助遇到问题的你

编辑:myhappyandy

  • 26
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值