首页 > 解决方案 > 在 python 3.5 中使用 matlab 引擎时出现 TimeoutError 导入错误

问题描述

我正在尝试使用 matlab.engine 在 python 脚本中运行用 matlab 编写的函数。

第一次运行脚本时一切正常,但是当我再次尝试运行脚本时,在导入 matlab 引擎时出现错误“ ImportError: cannot import name 'TimeoutError' ”。重新启动内核允许我再次运行脚本。我也在使用import matlab.engine而不是from matlab.engine import来避免循环导入。

关于如何解决问题的任何建议?我正在使用 Ubuntu 16.04 并使用 spyder。

非常感谢!

标签: pythonmatlabmatlab-engine

解决方案


我收到类似的运行错误。但是试了几次,发现对于同一个*.py的手稿,import matlab.engineand语句eng = matlab.engine.start_matlab()应该只执行一次

我评论了他们,通过这样做我可以再次重新运行脚本 *.py。

否则,它将发布错误

ImportError:无法导入名称“TimeoutError”。

我认为使用import matlab.engineMATLAB® 启动一个新的进程就像在我们关门之前打开一扇门,每个人都可以一次又一次地进入房间或​​出去,但不需要再次打开门,因为它还没有关闭.

“重启内核”就像自动关门一样(Python 停止引擎及其 MATLAB 进程)。


推荐阅读