从python脚本调用函数时Matlab冻结

时间:2018-12-10 07:55:25

标签: python matlab

我正在从python运行matlab函数,这是以下代码:

def get_matlab_add_ons(cfg):
    matlab = os.environ.get(get_matlab_env_var(cfg)).replace('"', '')

    addons = subprocess.check_output(
        [matlab, "-log",
        "-wait", "-nosplash",
        "-nodesktop", "-r",
        "try, "
        "   disp(matlab.addons.installedAddons); " //This is the matlab function I am using
        "   exit(0), "
        "catch me, "
        "   fprintf(2,'%%s Line %%d in %%s',me.message, me.stack.line, me.stack.file);"
        "   bdclose('all');"
        "   exit(1), "
        "end"
        ], stderr=subprocess.STDOUT).decode('utf-8')

    print(addons)

当打开matlab命令窗口时,它冻结并在一段时间后显示“无响应”。我已经将窗口打开了10分钟,只是想看看是否会发生某些事情(没有成功)。

版本使用

  • Python 3.6
  • Matlab 2017b

我还使用了另一个名为“版本”的Matlab函数,该函数基本上向我展示了我正在使用的Matlab版本。那是可行的。

有什么想法吗?

0 个答案:

没有答案