首页 > 解决方案 > Python Matlab 引擎在 Docker 中的使用

问题描述

我有一个 python 脚本,它使用 matlab.engine() 在其中执行 matlab 脚本。这适用于我的机器,但我无法对其进行 dockerize。

dockerfile 将需要两个图像 -Matlab 和 Python。Matlab 需要使用许可文件进行初始化,然后执行 Matlab 文件夹中的 python 设置脚本。之后,python 脚本将能够访问 Matlab。

感谢您对创建 Dockerfile 的任何帮助。或者任何导致我在哪里可以找到这样的东西。谢谢..

试过这个:

Python代码:

    import matlab.engine
    from flask import Flask
    
    @app.route("/matlab")
    def matlab_execute():
        eng = matlab.engine.start_matlab()
        eng.myscript(nargout=0)
        return "success"
    if __name__ == "__main__":        
        app.run()                     

Dockerfile:

    FROM mathworks/matlab:r2021a as matlab_image
    WORKDIR /matlab
    FROM python:3.8
    COPY --from=matlab_image /matlab /
    COPY myscript.m /
    COPY  py_script.py /
    WORKDIR /
    RUN pip install FLASK
    CMD [ "python", "./py_script.py" ]

但是当我运行容器时,我得到“没有名为 matlab 的模块”。如何将 matlab 凭据传递给此?

标签: pythondockermatlabdockerfilematlab-engine

解决方案


推荐阅读