OpenCV:在Mac上导入Python cv2时出现分段错误

3

我运行:

brew install opencv

python -v
>>> import cv2
dlopen("/usr/local/Cellar/opencv/2.4.8.2/lib/python2.7/site-packages/cv2.so", 2);
Segmentation fault: 11

当我在lldb下运行导入操作时,出现以下错误:

* thread #1: tid = 0xa9eb76, 0x0000000000000000, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x0000000000000000
error: memory read failed for 0x0

回溯信息如下:
  * frame #0: 0x0000000000000000
    frame #1: 0x00000001029f4b8e Python`PyEval_GetGlobals + 23
    frame #2: 0x0000000102a036e4 Python`PyImport_Import + 131
    frame #3: 0x0000000102a01ec6 Python`PyImport_ImportModule + 31
    frame #4: 0x0000000102806497 cv2.so`initcv2 + 26
    frame #5: 0x000000010009b932 Python`_PyImport_LoadDynamicModule + 150
    frame #6: 0x000000010009b649 Python`___lldb_unnamed_function1582$$Python + 274
    frame #7: 0x000000010009b225 Python`___lldb_unnamed_function1580$$Python + 276
    frame #8: 0x0000000100099522 Python`PyImport_ImportModuleLevel + 1153
    frame #9: 0x000000010007f776 Python`___lldb_unnamed_function1423$$Python + 132
    frame #10: 0x000000010000df72 Python`PyObject_Call + 101
    frame #11: 0x000000010008a01f Python`PyEval_CallObjectWithKeywords + 93
    frame #12: 0x0000000100087110 Python`PyEval_EvalFrameEx + 12115
    frame #13: 0x0000000100084093 Python`PyEval_EvalCodeEx + 1641
    frame #14: 0x0000000100083a24 Python`PyEval_EvalCode + 54
    frame #15: 0x00000001000a2c2c Python`___lldb_unnamed_function1610$$Python + 53
    frame #16: 0x00000001000a2cd3 Python`PyRun_FileExFlags + 137
    frame #17: 0x00000001000a2821 Python`PyRun_SimpleFileExFlags + 718
    frame #18: 0x00000001000b3363 Python`Py_Main + 2995

这个问题有点含糊不清。我唯一能给的“帮助”就是“使用gdb来找出答案”。另外,你为什么确定是dlopen()触发了段错误而不是其他原因呢? - Armin Rigo
我已更新问题。还有什么方法可以获取有关崩溃的更多信息? - Rose Perrone
抱歉,我无法提供实质性的帮助。你需要找到一个能够在gdb中重现和调试崩溃的人。回溯信息让我想到函数指针“_PyThreadState_GetFrame”仍然包含NULL而不是正确的指针,但我无法猜测原因(并且很抱歉我无法提供帮助,因为我无法访问OS/X)。 - Armin Rigo
1个回答

4
一次Python的brew重新安装解决了问题。太棒了!

是的,OpenCV 2.4.8.x 必须至少使用 Python 2.7。 - karlphillip

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接