首页 文章

mlab:无法打开matlab,是不是

提问于
浏览
0

我试图在我的Python脚本中使用Mlab来调用Matlab函数,但是我收到了错误:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/mlab/mlabraw.py", line 58, in open
    ret.open()
UnboundLocalError: local variable 'ret' referenced before assignment
Exception AssertionError: AssertionError() in <bound method MlabWrap.__del__ of <mlab.mlabwrap.MlabWrap object at 0x7f83e8989450>> ignored
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/mlab/mlabraw.py", line 58, in open
    ret.open()
UnboundLocalError: local variable 'ret' referenced before assignment
Traceback (most recent call last):
  File "./testMlab.py", line 1, in <module>
    from mlab.releases import R2018a as matlab
  File "/usr/local/lib/python2.7/dist-packages/mlab/releases.py", line 125, in __getattr__
    return self.instances[name]
  File "/usr/local/lib/python2.7/dist-packages/mlab/releases.py", line 63, in __getitem__
    self[k] = self.get_mlab_instance(k)
  File "/usr/local/lib/python2.7/dist-packages/mlab/releases.py", line 87, in get_mlab_instance
    instance = MlabWrap()
  File "/usr/local/lib/python2.7/dist-packages/mlab/mlabwrap.py", line 405, in __init__
    self._session = mlabraw.open()
  File "/usr/local/lib/python2.7/dist-packages/mlab/mlabraw.py", line 61, in open
    raise MatlabReleaseNotFound('Could not open matlab, is it in %s?' % matlab_path)
mlab.matlabpipe.UnixMatlabReleaseNotFound: Could not open matlab, is it in /home/yuh5/Matlab2018a/bin/matlab?
Exception AssertionError: AssertionError() in <bound method MlabWrap.__del__ of <mlab.mlabwrap.MlabWrap object at 0x7f83e8989450>> ignored

它确实抱怨Matlab没有安装在预期的路径上 . 我在matlabpipe.py中将此行硬编码为:

if is_linux():
        # base_path = '/usr/local/MATLAB/R%d%s/bin/matlab'
        base_path = '/home/yuh5/Matlab%d%s/bin/matlab'

这是github上Mlab项目的链接:

Mlab

我也注意到这个项目几年前已经停止更新,所以它是否仍然适用于最新版本的Matlab?

1 回答

  • 0

    也许你应该定义路径变量或使用 pip 设置库 .

    由于它看起来不可能并且库看起来不活跃,我建议你在数字python的充满活力的空间中使用实时库 . 特别是numpypandas对大多数项目都很有用 . 它们与matplotlib有很好的集成,这是一个图形库,可以复制mathlab的绘图行为和语法 .

    如果你来自一个沉重的Matlab背景,那么有一个有用的过渡链接 . http://mathesaurus.sourceforge.net/matlab-numpy.html

相关问题