导入matlab。引擎的错误

11视图(30天)
托马斯Wyrowinski
托马斯Wyrowinski 2017年7月14日
回答: 艾萨克·莱顿2018年8月9日
在Matlab脚本我试图创建一个Python对象,引用Matlab会话。我通过共享引擎名字Python对象构造函数,并使用matlab试图找到matlab实例。引擎库。在Python库导入提出了一个例外:
> > py.importlib.import_module (“task_monitor”)
错误使用enginesession > __init__(第8行)
Python错误:EngineError: MATLAB处理会话不能初始化。
错误在__init__ > <模块>(第80行)
_会话= EngineSession ()
错误在task_monitor > <模块>(1号线)
进口matlab.engine
错误在__init__ > import_module(37)行
__import__(名字)
Python类定义
进口matlab.engine
TaskMonitor:
def__init__(自我,matlabName):
试一试:
自我。matlabEngine = matlab.engine.connect_matlab (matlabName)
除了matlab.engine。EngineError犯错:
打印(“无法连接到Matlab:“+ str (err))
Matlab脚本创建Python对象
函数init ()
如果~ matlab.engine.isEngineShared
matlab.engine.shareEngine;
结束
sessionName = matlab.engine.engineName;
全球监控;
监控= py.task_monitor.TaskMonitor (sessionName);
结束
当我试图实例化在Python的台中TaskMonitor一切很好,对象被创建。它以某种方式不同而创造在Matlab控制台?
看起来像导入matlab。引擎在Python脚本的运行在Matlab不是工作得很好。
3评论
基督教德雷尔
基督教德雷尔 2017年8月3日
我也有同样的问题,将非常感谢任何帮助。

登录置评。

答案(1)

艾萨克·莱顿
艾萨克·莱顿 2018年8月9日
我不确定一个安全的解决方案,但是这似乎工作是移除_session = EngineSession()和相应的清理线在matlab。引擎初始化脚本。不知道这是多么安全,但似乎工作。

类别

找到更多的在从Python调用MATLAB帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!