使用 Homebrew 和 pyenv 在 Mac 上安装 OpenCV 3 for Python 3
Posted
技术标签:
【中文标题】使用 Homebrew 和 pyenv 在 Mac 上安装 OpenCV 3 for Python 3【英文标题】:Installing OpenCV 3 for Python 3 on a mac using Homebrew and pyenv 【发布时间】:2016-01-18 07:18:49 【问题描述】:我正在运行 Mac OS X 10.11 (El Capitan)。我想:
将我的 Python 系统版本保持为默认值 同时安装 Python 3.5 安装 OpenCV 3 和 Python 绑定我按照这个 SO 答案安装了 pyenv
和 Python 3.5:https://***.com/a/18671336/1410871
我激活了我的 Python 3 安装并安装了具有 Python 3 支持的 OpenCV 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'
为什么?
【问题讨论】:
【参考方案1】:回答我自己的问题:我必须手动创建指向共享对象文件的符号链接并将其放在 pyenv Python 3 站点包目录中:
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 中可以正常工作。
【讨论】:
【参考方案2】:opencv3 只是小桶,通过 Brew 安装时不会链接
执行以下操作:
$ brew link opencv3 --force
这是一种比手动创建符号链接更可控的方法。
然后你就可以:
$ python3
import cv2
干杯
【讨论】:
试过这个,但它对我不起作用。导入 cv2 仍然返回“ImportError: No module named 'cv2'”以上是关于使用 Homebrew 和 pyenv 在 Mac 上安装 OpenCV 3 for Python 3的主要内容,如果未能解决你的问题,请参考以下文章
Mac OSX python多版本管理工具:pyenv 和 virtualenv搭建
Mac OSX python多版本管理工具:pyenv 和 virtualenv搭建