Как запустить демон Matlab

381
mabe

У меня есть список вызовов Python-скриптов каждый день. Скрипт python вызывает различные процедуры matlab в зависимости от их успеха. Это прекрасно работает, когда я использую компьютер, но когда я им не пользуюсь, демон выдает мне следующую ошибку:

Traceback (most recent call last): File "/Users/<username>/Documents/daemontest/matlab_batcher.py", line 108, in <module> eng = matlab.engine.start_matlab() File "/Library/Python/2.7/site-packages/matlab/engine/__init__.py", line 92, in start_matlab eng = MatlabEngine(option) File "/Library/Python/2.7/site-packages/matlab/engine/matlabengine.py", line 230, in __init__ self.__dict__["_matlab"] = pythonengine.createMATLAB(tokens) matlab.engine.EngineError: MATLAB process can not be created. 

В настройках энергосбережения я установил флажок «запретить сон компьютера» и снял флажок «включить режим сна», поэтому считаю, что компьютер не засыпает. Тем не менее он не может начать Matlab.

Может ли проблема быть проблемой с лицензией Matlab? Как я могу запустить Matlab, если я не "активен" или не вошел в систему?

1

1 ответ на вопрос

0
mabe

Наконец-то разобрался с решением, ну скорее обходной путь.

В скрипте Python я использовал MatlabEngine от Matlab. По-видимому, это начинается только тогда, когда пользователь активен. Подробности, которые я до сих пор не знаю, но должны быть чем-то особенным с лицензией matlab и моделью, на которую imac переключается через несколько минут после того, как пользователь становится неактивным. Хотя было бы интересно понять это правильно ...

Что на самом деле работает, так это использование команд bash вместо MatlabEngine для вызова matlab. Это не предлагает прямого взаимодействия с функцией Matlab, как MatlabEngine, но для моего случая вполне достаточно.