2017-04-25 62 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。如果您是從源代碼構建它,或者以其他方式安裝它,這可能是一個因素。