Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导入错误:dlopen(/usr/local/opt/opencv3/lib/python2.7/site-packages/cv2.so,2):未找到符号:_-PyCObject_-Type_Python_Python 3.x_Opencv - Fatal编程技术网

导入错误:dlopen(/usr/local/opt/opencv3/lib/python2.7/site-packages/cv2.so,2):未找到符号:_-PyCObject_-Type

导入错误:dlopen(/usr/local/opt/opencv3/lib/python2.7/site-packages/cv2.so,2):未找到符号:_-PyCObject_-Type,python,python-3.x,opencv,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

这就是我在我的机器上安装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
现在,当我使用python3repl并调用

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
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
导入错误:dlopen(/usr/local/opt/opencv3/lib/python2.7/site-packages/cv2.so,2):未找到符号:_-PyCObject_-Type
引用自:/usr/local/opt/opencv3/lib/python2.7/site-packages/cv2.so
应为:平面命名空间
在/usr/local/opt/opencv3/lib/python2.7/site-packages/cv2.so中

我想让我的Python3解释器查看cv2的Python3.6站点包,但我无法让它这么做。感谢您的帮助。

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

我会使用CMake从源代码重新安装opencv。我想相信有一种更简单的方法可以让python3解释器查看3.6站点包。它看起来像是
brew
install opencv for python3.5,而你想使用python3.6。我不确定有没有办法克服这个问题,除非你调整一下公式。另一方面,为什么erros提到python2.7?我不久前也遇到了同样的问题。我在安装opencv python时解决了这个问题。(pip安装opencv python)。它为你做所有的装订工作。