【发布时间】:2014-03-23 09:40:22
【问题描述】:
我在 OS X Mavericks 上使用 Anaconda。当我尝试加载 cv2 时,出现导入错误(见下文)。你知道如何解决这个问题吗?
>>import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dlopen(/usr/local/Cellar/opencv/2.4.8.2/lib/python2.7/site-packages/cv2.so,
2): Library not loaded: /usr/local/lib/libpng15.15.dylib
Referenced from: /usr/local/Cellar/opencv/2.4.8.2/lib/libopencv_highgui.2.4.dylib
Reason: image not found
我不确定它是否相关,但在 /usr/local/lib/ 我有 libpng16.16.dylib 而不是 libpng15.15.dylib。
【问题讨论】:
-
作为一种解决方法,您是否尝试过使用a copy of libpng16 并查看是否可行?还是修改导入以加载 libpng15?我没有 Mac 来测试它,但如果没有其他方法,您可能会从 their issue tracker 获得帮助。
-
感谢您的提示!现在我得到这个错误:
>>> import cv2 Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: dlopen(/usr/local/Cellar/opencv/2.4.8.2/lib/python2.7/site-packages/cv2.so, 2): Library not loaded: /usr/local/lib/libpng15.15.dylib Referenced from: /usr/local/Cellar/opencv/2.4.8.2/lib/libopencv_highgui.2.4.dylib Reason: Incompatible library version: libopencv_highgui.2.4.dylib requires version 34.0.0 or later, but libpng15.15.dylib provides version 27.0.0 -
似乎很清楚这只是依赖关系,尽管我不知道为什么会首先出现依赖关系问题。 15 太旧了,所以从链接中尝试 16。如果你能得到一个或尝试问题跟踪器,也许可以尝试使用另一台 Mac。希望有 mac 的人能给你一些更好的建议。
-
您的 anaconda 正在尝试从 Homebrew 加载 cv,这就是它无法正常工作的原因。这可能是因为您设置了
PYTHONPATH环境变量。 -
我不知道它是否会起作用,但你可以尝试从这里binstar.org/jmargeta/opencv 安装opencv(该页面上有关于如何 conda 安装它的说明)。