You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker中无法运行Matlab SDK Python模块,本地运行正常

Docker容器中运行Matlab生成的Python模块故障排查

本地成功运行步骤

  • 安装Matlab编译运行时(MCR)
  • 通过Matlab Compiler SDK生成test_function模块,执行python setup.py install完成安装
  • 本地运行以下代码可成功执行:
import test_function

mypkg = test_function.initialize()
arg1 = 1
arg2 = 2
out1, out2 = mypkg.test_function(arg1, arg2, nargout=2)
print(out1, out2)
mypkg.terminate()

Docker构建阶段报错

基于mathworks/matlab-runtime-deps:R2023b镜像编写Dockerfile,将生成的test_function模块目录和已解压的Linux 64位MCR目录复制到容器内,执行MCR安装命令时出现以下错误:

构建失败:rpc错误,代码=未知描述,进程"/bin/sh -c sudo -H ./matlab_runtime/install"未成功完成,退出代码:42

相关Dockerfile片段:

FROM mathworks/matlab-runtime-deps:R2023b

# 其他无关命令
# ...

RUN apt-get install -y python3.9 python3-pip
COPY test_function /app/test_function
COPY matlab_runtime /app/matlab_runtime
RUN ls /app/matlab_runtime
RUN pip install setuptools
WORKDIR /app
USER root
RUN chmod +x ./matlab_runtime/install
RUN python3 test_function/setup.py install
RUN sudo -H ./matlab_runtime/install

改用make安装后的运行报错

修改Dockerfile,先安装make再执行MCR安装命令,Docker构建过程无报错,但在容器内运行Python脚本时出现:

属性错误:模块'LC_filter_for_AI'没有'initialize'属性

使用dir(test_function)查看模块属性,仅返回基础内容:

['__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__']

而本地正常安装的模块包含initialize等关键属性:

['_PathInitializer', '__builtins__', '__cached__', '__doc__', '__exit_packages', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '_pir', 'atexit', 'glob', 'importlib', 'initialize', 'initialize_runtime', 'os', 'pdb', 'platform', 're', 'sys', 'terminate_runtime', 'weakref']

内容的提问来源于stack exchange,提问作者Sayyor Y

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 18:44:51