在ubuntu上使用python2进行cmake opencv3获取ImportError multiarray.so:未定义的符号:_Py_ZeroStruct

时间:2017-01-25 04:28:19

标签: ubuntu numpy cmake opencv3.0

我尝试使用cmake-gui在ubuntu上为python2.7构建opencv3。我numpy(1.8.2)安装了pip(实际上,我也尝试使用apt-get,但错误仍然存​​在)。每次我使用cmake-guiConfigure时,它都会让我:

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但我不能使用python的cv2(没有名为cv2的模块)。 因此,我认为这个错误是我必须解决的关键问题。

1 个答案:

答案 0 :(得分:1)

我明白了:

我应该确保dist-package

中没有site-package$PYTHONPATH个路径