Я пытаюсь запустить функцию, написанную в matlab в скрипте python, используя matlab.engine.
В первый раз, когда я запускаю скрипт, все работает нормально, но когда я пытаюсь запустить скрипт снова, я получаю сообщение об ошибке " ImportError: невозможно импортировать имя" TimeoutError "при импорте механизма matlab. Перезапуск ядра позволяет мне снова запустить сценарий. Я также использую импорт matlab.engine, а не импорт matlab.engine, чтобы избежать циклического импорта.
Любые предложения о том, как я могу решить проблему? Я использую Ubuntu 16.04 и работаю с spyder.
Большое спасибо!
Я получаю похожую ошибку при запуске. Но после нескольких попыток я обнаружил, что для одной и той же рукописи *.py фразы import matlab.engine
и eng = matlab.engine.start_matlab()
должны быть реализованы только один раз.
Я прокомментировал их, делая это, я могу снова запустить скрипт *.py.
В противном случае будет опубликована ошибка
ImportError: невозможно импортировать имя "TimeoutError".
Я думаю, что использование import matlab.engine
для запуска нового процесса import matlab.engine
- это все равно, что открыть дверь, прежде чем мы закроем дверь, каждый может войти в комнату или выйти снова и снова, но не нужно открывать дверь снова, потому что это еще не закрыт
"Перезапуск ядра" аналогичен автоматическому закрытию двери (Python останавливает двигатель и процесс MATLAB).