Anaconda找不到cv2模块。

5
我正在使用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


1
作为一种解决方法,您是否尝试获取 libpng16 的副本 并查看是否可以工作?或者修改导入以加载 libpng15?我没有 Mac 进行测试,但如果其他方法都不起作用,您可能会从 他们的问题跟踪器 中获得帮助。 - KobeJohn
谢谢你的提示!现在我遇到了这个错误:>>> 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 - albus_c
1
看起来很明显只是依赖关系问题,尽管我不知道为什么依赖性问题首先出现了。15太旧了,所以请尝试从链接中使用16。如果可以获得另一个Mac,请尝试使用它,或者尝试使用问题跟踪器。希望有Mac的人能给你一些更好的建议。 - KobeJohn
2
你的Anaconda正在尝试从Homebrew加载cv,这就是为什么它无法工作的原因。这很可能是因为你设置了PYTHONPATH环境变量。 - asmeurer
1
我不知道它是否有效,但你可以尝试从这里安装opencv https://binstar.org/jmargeta/opencv(该页面上有conda安装的说明)。 - asmeurer
这是我找到的解决方案: - albus_c
3个回答

7

这是我找到的解决方案:


1
这个需要更多人看到,因为这是我查看的15个“解决方案”中唯一实际起作用的解决方案。 - James Tobin

1

this问题所建议的,我通过简单执行以下操作来解决此问题

conda update hdf5

0

你也可以将它添加到你的PYTHONPATH中。以下是方法:

  • 通过完整路径调用python可执行文件
  • 成功导入cv2后运行:cv2.__file__,这将给出文件的路径,你可以将其(不包括文件名的完整目录路径)作为第一个参数添加到~/.bash_profile中定义的PYTHONPATH中
  • 更改.bash_profile后别忘了运行source ~/.bash_profile以使更改生效
  • 启动anaconda python,现在应该能找到cv2了
注意:你应该能够通过其他(非anaconda)python可执行文件来加载它。我的位于/usr/bin/python(默认系统python)和/usr/local/bin/python(brew)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接