使用自制和pyenv在mac上安装OpenCV 3 for Python 3

使用自制和pyenv在mac上安装OpenCV 3 for Python 3,python,macos,opencv,python-3.x,Python,Macos,Opencv,Python 3.x,我正在运行MacOSX10.11(ElCapitan)。我想: 将我的Python系统版本维护为默认版本 同时安装Python 3.5 安装OpenCV 3和Python绑定 我按照下面的答案安装了pyenv和Python 3.5: 我启动了Python 3安装,并安装了OpenCV 3,支持Python 3,如下所示: pyenv shell 3.5.0 brew install opencv3 --with-python3 但当我启动IPython shell并导入cv2时,我得到一个

我正在运行MacOSX10.11(ElCapitan)。我想:

  • 将我的Python系统版本维护为默认版本
  • 同时安装Python 3.5
  • 安装OpenCV 3和Python绑定
我按照下面的答案安装了
pyenv
和Python 3.5:

我启动了Python 3安装,并安装了OpenCV 3,支持Python 3,如下所示:

pyenv shell 3.5.0
brew install opencv3 --with-python3
但当我启动IPython shell并导入
cv2
时,我得到一个错误:

ImportError                               Traceback (most recent call last)
<ipython-input-1-72fbbcfe2587> in <module>()
----> 1 import cv2

ImportError: No module named 'cv2'
ImportError回溯(最近一次调用)
在()
---->1进口cv2
ImportError:没有名为“cv2”的模块

为什么?

回答我自己的问题:我必须手动创建一个指向共享对象文件的符号链接,并将其放置在pyenv Python 3 site packages目录中:

ln -s /usr/local/opt/opencv3/lib/python3.5/site-packages/cv2.cpython-35m-darwin.so ~/.pyenv/versions/3.5.0/lib/python3.5/site-packages/cv2.so

现在,
import cv2
这一行在Python中可以正常工作。

opencv3仅为keg,通过Brew安装时不会链接

请执行以下操作:

$ brew link opencv3 --force
这是一种比手工创建符号链接更受控制的方法

然后您将能够:

$ python3
import cv2

“干杯”

尝试过这个,但对我无效。导入cv2仍然返回“ImportError:没有名为“cv2”的模块”