cmake opencv3 с python2 на ubuntu get ImportError multiarray.so: неопределенный символ: _Py_ZeroStruct

Я пытался использовать cmake-gui для сборки opencv3 для python2.7 на Ubuntu. У меня numpy(1.8.2) установил pip (на самом деле, я пробовал и с apt-get, но ошибка все равно была). Каждый раз, когда я использую от cmake-gui до Configure, мне выдает следующее:

Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
    from apport.packaging_impl import impl as packaging
  File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 20, in <module>
    import apt
  File "/usr/lib/python2.7/dist-packages/apt/__init__.py", line 23, in <module>
    import apt_pkg
ImportError: /usr/lib/python2.7/dist-packages/apt_pkg.so: undefined symbol: _Py_ZeroStruct

Original exception was:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/numpy/__init__.py", line 153, in <module>
    from . import add_newdocs
  File "/usr/local/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/usr/local/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 8, in <module>
    from .type_check import *
  File "/usr/local/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "/usr/local/lib/python2.7/dist-packages/numpy/core/__init__.py", line 6, in <module>
    from . import multiarray
ImportError: /usr/local/lib/python2.7/dist-packages/numpy/core/multiarray.so: undefined symbol: _Py_ZeroStruct**strong text**

Кажется, что-то не так с _Py_ZeroStruct. Я попытался переустановить numpy, но это не сработало.

Я также пытался игнорировать эту ошибку и сохранить make && sudo make install, и в результате я могу правильно установить OpenCV3, но не могу использовать cv2 python (без модуля с именем cv2). Таким образом, я считаю, что эта ошибка является ключевой проблемой, которую я должен решить.


person Microos    schedule 25.01.2017    source источник


Ответы (1)


Я понял:

Я должен убедиться, что ни один из путей dist-package или site-package не находится в $PYTHONPATH

person Microos    schedule 25.01.2017