python - 使用 Homebrew 和 pyenv 在 Mac 上为 Python 3 安装 OpenCV 3

标签 python macos opencv python-3.x

我正在运行 Mac OS X 10.11 (El Capitan)。我想:

  • 将我的 Python 系统版本保持为默认值
  • 同时安装 Python 3.5
  • 安装 OpenCV 3 和 Python 绑定(bind)

我按照这个 SO 答案安装了 pyenv 和 Python 3.5:https://stackoverflow.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'

为什么?

最佳答案

回答我自己的问题:我必须手动创建一个指向共享对象文件的符号链接(symbolic link)并将其放在 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 中按预期工作。

关于python - 使用 Homebrew 和 pyenv 在 Mac 上为 Python 3 安装 OpenCV 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33222965/

相关文章:

android - 从SD卡读取图像返回空OpenCV

Python:读取超过 1M 的小型 csv 文件并写入数据库

python - selenium 没有在 FirefoxProfile 中设置 downloaddir

linux - 特定网络上的SSH断开管道

java - 使用 Homebrew 安装 OpenCV 时选择 Java 版本

windows - 跨平台的 OpenCV 视频

python - 每次调用python脚本时如何避免重新加载ML模型?

python - 匿名代码块

python-3.x - 哪个模块是 Python 3 到 FUSE 的实际接口(interface)?

Mac 上的 Python,设置已安装模块的路径,以便 Python 可以使用