首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python Matlab引擎在码头中的应用

Python Matlab引擎在码头中的应用
EN

Stack Overflow用户
提问于 2021-08-25 05:29:40
回答 1查看 306关注 0票数 0

我有一个python脚本,它在其中使用matlab.engine()执行matlab脚本,.This在我的机器上工作,但我无法对它进行对接。

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

任何关于创建Dockerfile的帮助都是非常感谢的。或者任何线索我都能找到这样的东西。谢谢..

试着用这个:

Python代码:

代码语言:javascript
代码运行次数:0
运行
复制
    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:

代码语言:javascript
代码运行次数:0
运行
复制
    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的凭证传递给这一点?

EN

回答 1

Stack Overflow用户

发布于 2022-06-15 02:10:09

正式的MathWorks码头集装箱码头文件可在GitHub上使用您可以使用的基本映像和依赖项映像都可以在Dockerhub上使用。。关于如何使用映像的说明可以在这两个存储库中找到。

几个人注意到:

  1. 传递许可证的首选机制是使用许可证服务器并通过docker运行时标志( -eMLM_LICENSE_FILE=PORT@LICENSE_SERVER_ADDRESS. )传递环境变量。您也可以传递一个文件,但是您需要它使用许可证服务器,因为Docker容器无法为您提供激活许可证所需的一致的flexlm。
  2. 新的MPM工具,使创建MATLAB容器变得更加容易。实际上,修改容器以包含所需的python将非常简单。然后,您可以将代码复制到映像中用于运行它的正确位置,而不是提供的入口点,或者您可以用代码挂载卷,以便在该环境中积极地开发它。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68917279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档