ImportError:dlopen(/usr/local/opt/opencv3/lib/python2.7/site-packages/cv2.so,2):找不到符号:_PyCObject_Type

时间:2017-02-20 22:21:13

标签: python python-3.x opencv

这就是我在我的机器上安装opencv3的方法。 我在我的系统中安装了python 3.6。我跑了,

$ brew install opencv3 --with-contrib --with-python3 --HEAD

然后在3.6站点包中更改了opencv3包的名称。

$ cd /usr/local/opt/opencv3/lib/python3.6/site-packages/
$ mv cv2.cpython-35m-darwin.so cv2.so

然后创建.pth文件。

$ echo /usr/local/opt/opencv3/lib/python3.6/site-packages >> /usr/local/lib/python3.6/site-packages/opencv3.pth

现在,当我进入python 3 REPL并调用

import cv2

这是我得到的错误。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: dlopen(/usr/local/opt/opencv3/lib/python2.7/site-packages/cv2.so, 2): Symbol not found: _PyCObject_Type
  Referenced from: /usr/local/opt/opencv3/lib/python2.7/site-packages/cv2.so
  Expected in: flat namespace
 in /usr/local/opt/opencv3/lib/python2.7/site-packages/cv2.so

我希望我的python 3解释器能够查看cv2的python 3.6站点包,我无法做到这一点。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我删除了所有opencv3文件夹,并在python环境中删除了opencv软件包,然后再次安装了opencv。现在对我有用。