2015-09-19 1 views
0

J'essaie d'installer OpenCV 3.0.0 dans un environnement virtuel que j'ai créé en utilisant conda.Compilation d'OpenCV dans un environnement virtuel conda

J'ai téléchargé le fichier zip pour OpenCV 3.0.0, décompressé, et créé un répertoire vide appelé build dans le répertoire décompressé. A l'intérieur de la construction, je suis en train de courir

cmake -D CMAKE_BUILD_TYPE=RELEASE \ 
-D CMAKE_INSTALL_PREFIX=$(python -c "import sys; print(sys.prefix)") \ 
-D PYTHON_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc; print get_python_inc()") \ 
-D PYTHON_EXECUTABLE=$(which python) \ 
-D PYTHON_PACKAGES_PATH=$(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()") .. 

avec plusieurs autres variantes de la commande cmake décrit ci-dessus, mais je reçois un dyld library not loaded error.

Quelle est la correcte cmake command pour installer OpenCV dans mon environnement virtuel conda?

+0

Vous ne passez pas le répertoire source à 'cmake'. Et, probablement, passez incorrectement les variables. Essayez d'obtenir la valeur codée en dur CMAKE_INSTALL_PREFIX au lieu d'être le résultat du script. – Tsyvarev

+0

Il vous manque l'indicateur '-DPYTHON_LIBRARY' pointant vers le python dylib (voir réponse ci-dessous) – lemonhead

Répondre

0

est ici les étapes que je suivais pour construire OpenCV 3.0 sur OS X:

# From opencv root: 
mkdir build 
cd build 
PYTHON_VERS=python$(python -c "import sys; print '%s.%s' % (sys.version_info.major, sys.version_info.minor)") 
PYTHON_ROOT=$(python -c "import sys; print sys.prefix") 

cmake -DPYTHON_INCLUDE_DIR=$PYTHON_ROOT/include/$PYTHON_VERS/ -DPYTHON_LIBRARY=$PYTHON_ROOT/lib/lib${PYTHON_VERS}.dylib -DPYTHON_EXECUTABLE=$PYTHON_ROOT/bin/python -DPYTHON_PACKAGES_PATH=$PYTHON_ROOT/lib/$PYTHON_VERS/site-packages/ .. 
make 
sudo make install | grep cv2.so 
cp /usr/local/lib/$PYTHON_VERS/site-packages/cv2.so $PYTHON_ROOT/lib/$PYTHON_VERS/site-packages/cv2.so # or wherever it installs it... 

(Pour une raison quelconque, il finit toujours construire les liaisons Python .donc dans la version /usr/local/lib de python, donc je devais le copier plus, mais il peut y avoir un indicateur supplémentaire que vous pouvez utiliser pour éviter cela)

+0

cela fonctionnera-t-il si j'ai installé python avec anaconda? – jkarimi

+0

N'a pas essayé, mais en théorie il devrait. Je l'ai fait avec une version macports de Python-2.7 (avec pépin numpy et scipy installé précédemment) – lemonhead

+0

cela n'a pas fonctionné pour moi – jkarimi