2017-04-25 61 views
0

我刚刚在Anaconda上用python 3.6安装了opencv 3.2,使用conda forge。虽然使用bash运行import cv2工作正常,但在鱼壳上运行此命令会输出此错误消息。鱼壳找不到opencv的dylib文件

import cv2 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
ImportError: dlopen(/Users/vicarious/anaconda/lib/python3.6/site-packages/cv2.so, 2): Library not loaded: @rpath/libopencv_hdf.3.2.dylib 
Referenced from: /Users/vicarious/anaconda/lib/python3.6/site-packages/cv2.so 
Reason: image not found 

我检查了this问题并添加set -x DYLD_FALLBACK_LIBRARY_PATH /Users/vicarious/anaconda/lib/ $DYLD_FALLBACK_LIBRARY_PATH鱼的配置文件,该文件并没有帮助。

我也禁用了MacOS Sierra SIP,因为它显然不允许更改DYLD_FALLBACK_LIBRARY_PATH。但我仍然得到同样的错误。

我该怎么办?

回答

0

对我的作品使用鱼在MacOS塞拉利昂10.12我的默认的shell:

python 
Python 3.6.0a3 | packaged by conda-forge | (default, Jul 12 2016, 15:51:25) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import cv2 
>>> print(cv2.__version__) 
3.2.0 
>>> exit() 

如果它工作在bash,但不是鱼,然后你的bash环境可能定义一个环境VAR是不存在的鱼类环境或具有不同的价值。另外,我使用conda install -c conda-forge opencv安装了opencv2。如果您是从源代码构建它,或者以其他方式安装它,这可能是一个因素。