1

У меня есть список вызовов 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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .