2017-04-25 1 views
0

Je viens d'installer Opencv 3.2 en utilisant conda forge sur Anaconda avec python 3.6. Bien que l'utilisation de bash pour exécuter import cv2 fonctionne bien, l'exécution de cette commande sur le shell de poisson génère ce message d'erreur.Fish shell ne trouve pas les fichiers dylib d'opencv

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 

J'ai vérifié this question et a ajouté set -x DYLD_FALLBACK_LIBRARY_PATH /Users/vicarious/anaconda/lib/ $DYLD_FALLBACK_LIBRARY_PATH fichier de configuration de poisson qui n'a pas aidé.

J'ai également désactivé MacOS Sierra SIP car il ne semble pas que DYLD_FALLBACK_LIBRARY_PATH soit modifié. Mais j'ai toujours la même erreur.

Que dois-je faire?

Répondre

0

Works pour moi en utilisant le poisson comme mon shell par défaut sur macOS Sierra 10.12:

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() 

Si cela fonctionne en bash mais pas le poisson, alors votre environnement bash définit probablement un environnement var qui ne figure pas dans la l'environnement du poisson ou a une valeur différente. En outre, j'ai installé opencv2 en utilisant conda install -c conda-forge opencv. Si vous l'avez construit à partir de la source ou installé d'une autre manière, cela est probablement un facteur.