Ошибка сегментации при запуске start_matlab в движке Matlab - PullRequest
0 голосов
/ 27 апреля 2018

Я использую

  • Mac OSX High Sierra
  • anaconda3 python (виртуальная среда с python = 3.6)
  • Matlab R2018a.

Шаги для воспроизведения:

  1. Создать новую среду Python 3.6. Активировать среду
  2. Перейдите в Matlab / extern / engines / python и запустите python setup.py install.
  3. Запустите следующий скрипт.
import matlab.engine
matlab.engine.start_matlab()

Ошибка сегментации происходит в строке start_matlab () (не в строке импорта). У меня не было проблем, прежде чем использовать двигатель Matlab таким образом. Как я мог отладить это? (в основном это просто проблема с линковкой).

======================

Я удалил Anaconda3 и использовал систему Python 2.7. Я столкнулся с той же проблемой, и проблема в libwmvm.dylib из Matlab.

    Process:               Python [5124]
Path:                  /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
Identifier:            Python
Version:               2.7.10 (2.7.10)
Code Type:             X86-64 (Native)
Parent Process:        bash [2183]
Responsible:           Python [5124]
User ID:               501

PlugIn Path:             /Applications/MATLAB_R2018a.app/bin/maci64/libmwmvm.dylib
PlugIn Identifier:       libmwmvm.dylib
PlugIn Version:          ??? (0)

Date/Time:             2018-04-27 23:27:03.250 +0700
OS Version:            Mac OS X 10.13.4 (17E199)
Report Version:        12
Anonymous UUID:        885790DC-B32C-0363-903C-837A7C285AF3

Sleep/Wake UUID:       14FBD560-D2B9-4A59-89F1-DABA878FCA70

Time Awake Since Boot: 10000 seconds
Time Since Wake:       3700 seconds

System Integrity Protection: enabled

Crashed Thread:        3

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000090
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]

VM Regions Near 0x90:
--> 
    __TEXT                 000000010e1c6000-000000010e1c8000 [    8K] r-x/rwx SM=COW  p [/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python]

Thread 0:: Dispatch queue: com.apple.main-thread

1 Ответ

0 голосов
/ 06 сентября 2018

Движок Matlab не поддерживается python 3.6, вы можете использовать python 3.5.

У меня также есть анаконда, python 2.7, 3.5 и 3.6. Вы можете легко различить их, например, переименовав python.exe в python35.exe. Чем ты можешь называть тебя py srcipt так:

python35 example.py

И это будет называться с python35.

Подсказка: pip install и conda install не будут работать после переименования, так как он ищет python.exe, поэтому вам не нужно переименовывать anaconda и версию python, которые вы используете в большинстве случаев.

...