【发布时间】:2020-11-18 18:19:57
【问题描述】:
这就是我在我的机器上安装 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 站点包,但我无法让它这样做。任何帮助表示赞赏。
【问题讨论】:
-
我会使用 CMake 从源代码重新安装 opencv。
-
我相信有一种更简单的方法可以让 python3 解释器查看 3.6 站点包。
-
它看起来像
brewinstall opencv for python3.5 而你想使用 python3.6。我不确定有没有办法克服这个问题,除非你调整公式。另一方面,为什么错误提到了python2.7? -
我前段时间遇到了同样的问题。我解决了安装opencv-python的问题。 (点安装opencv-python)。它为您完成所有绑定。
标签: python python-3.x opencv