mlab: не удалось открыть matlab - PullRequest
0 голосов
/ 24 апреля 2018

Я пытаюсь использовать Mlab в своем скрипте Python для вызова функций 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'

Вот ссылка на проект Mlab на github:

Mlab

Я также заметил, что этот проект прекратил обновляться несколько лет назад, поэтому должен ли он по-прежнему работать с новейшей версией Matlab?

1 Ответ

0 голосов
/ 24 апреля 2018

Возможно, вам следует определить переменную пути или установить библиотеку, используя pip.

Поскольку это не представляется возможным, и библиотека не выглядит активной, я бы порекомендовал вам использовать живые библиотеки в оживленном пространстве числового питона.В частности, numpy и pandas могут быть полезны для большинства ваших проектов.У них также есть очень хорошая интеграция с matplotlib , который является графической библиотекой, которая копирует поведение и синтаксис mathlab при построении.

Если вы пришли с богатого фона Matlab, здесь есть полезная ссылка для перехода.http://mathesaurus.sourceforge.net/matlab-numpy.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...