在 MAC 上为 python 2.7 安装 opencv

Posted

技术标签:

【中文标题】在 MAC 上为 python 2.7 安装 opencv【英文标题】:installing opencv for python 2.7 on a MAC 【发布时间】:2018-06-26 10:29:39 【问题描述】:

我通过命令pip install opencv-python 安装了opencv,然后当我在python 中导入cv2 时出现错误ImportError: dlopen(/Library/Python/2.7/site-packages/cv2/cv2.so, 2): Symbol not found: _clock_gettime

我想在 Mac 上安装适用于 python 2.7 的 opencv。我该如何解决这个错误?我正在使用 El Capitan。

在此之前我使用brew install opencv 安装了opencv,但后来我在使用pip 之前使用brew uninstall opencv 卸载了它。

【问题讨论】:

您是否在 MacOS 上使用默认安装的 python?在我的 Mac (Sierra) 和 Ubuntu 机器上安装 OpenCV 时,我发现这个站点特别有用:pyimagesearch.com/2015/06/15/… 【参考方案1】:

这行得通!

sudo pip install opencv-python==3.3.0.10

El Capitan 有一个问题在这里详述 http://answers.opencv.org/question/182067/import-cv2-throws-symbol-not-found-_clock_gettime/

为了规避这个问题,我回滚到了较早版本的opencCV。

使用 pip do 检查可用版本的技巧

sudo pip install opencv-python==

这将返回所有可用的版本,然后您可以尝试适合您的版本。

移动到不同版本时不要忘记pip uninstall

【讨论】:

确认 3.3.0.10 是适用于 El Capitan 的最新版本(3.3.1.11,the next release 不起作用)。还确认使用带有Homebrew 的 Python 3.6 安装它可以正常工作。【参考方案2】:

看起来这是 python-opencv 和 mac 操作系统的问题你正在使用。从下面的链接看来,Apple 更改了与 _clock_gettime 函数有关的内容,这意味着 python-opencv 的维护者需要更新。

下面帖子的评论者通过升级到 Sierra 设法解决了这个问题

http://answers.opencv.org/question/182067/import-cv2-throws-symbol-not-found-_clock_gettime/

【讨论】:

谢谢。我刚刚看到了。我没有足够的空间升级到 High Sierra。我将尝试使用早期版本的 opencv 来查看它们是否有效

以上是关于在 MAC 上为 python 2.7 安装 opencv的主要内容,如果未能解决你的问题,请参考以下文章

在 MacOS Mojave 上为 QGIS 安装 Python 3.6

在 SLES 11 上为所有用户安装 Python 2.7

在pip上为python 2.7安装py2exe:这个包需要Python 3.3或更高版本

在 linux 上为非默认版本安装 python 模块

如何在 mac 上为 python 安装 dlib?

在 mac 上为 python 3.6 安装 opencv3