comment construire opencv pour python3 lorsque les deux python2 et python3 sont installés
J'essayais de construire opencv pour python3. Cependant, cmake toujours ensembles python option de compilation pour être python2.7.11 même après que j'ai spécifié manuellement include et lib option pour python3:
-- Python 2:
-- Interpreter: /home/ryu/anaconda2/bin/python2.7 (ver 2.7.11)
-- Python 3:
-- Interpreter: /usr/bin/python3 (ver 3.4.3)
-- Libraries: /usr/lib/x86_64-linux-gnu/libpython3.4m (ver 3.4.3)
-- numpy: /home/ryu/.local/lib/python3.4/site-packages/numpy/core/include (ver 1.11.0)
-- packages path: lib/python3.4/dist-packages
--
-- **Python (for build): /home/ryu/anaconda2/bin/python2.7**
Ai-je raté quelques cmake option?
OS: Ubuntu 14,04
grâce
Les options que j'ai utilisé sont: cmake -D CMAKE_BUILD_TYPE=RELEASE-D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=D PYTHON3_EXECUTABLE=/usr/bin/python3 -D PYTHON_INCLUDE_DIR=/usr/include/python3.4m -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.4m -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.4m -D PYTHON3_NUMPY_INCLUDE_DIRS=/home/ryu/.local/lib/python3.4/site-packages/numpy/core/../opencv-3.1.0
J'ai renommé python2.7 à un autre nom par la suite et cmake ne pouvait pas trouver python2.7 plus. Enfin, elle makefile pour python3 et tout s'est passé sans problème
J'ai renommé python2.7 à un autre nom par la suite et cmake ne pouvait pas trouver python2.7 plus. Enfin, elle makefile pour python3 et tout s'est passé sans problème
OriginalL'auteur | 2016-05-06
Vous devez vous connecter pour publier un commentaire.
Vous pouvez remplacer l'exécutable python à construire en ajoutant l'argument
PYTHON_DEFAULT_EXECUTABLE
avec l'exécutable python URI au cours de lacmake
invokation.Cette réponse est plus claire: stackoverflow.com/a/43205860/7429464
Ce doit être la accepté de répondre à
OriginalL'auteur Ivan De Paz Centeno
J'ai essayé d'installer opencv sur un Pi3 et cette solution ne fonctionne pas pour moi que python (pour la construction) a toujours eu une place à Python2.7 mais j'ai trouvé que la modification de l'ordre d'un elseif déclaration au bas de la " OpenCVDetectPython.cmake' a résolu le problème. Pour moi, ce fichier se trouve dans '~/opencv-3.3.1/cmake'.
L'original segment de code:
Mon re-commandé segment de code:
Je ne sais pas le raisonnement derrière elle, mais cmake est réglé par défaut pour python2 si python2 existe, la permutation de l'ordre de ces elseif déclarations de passe par défaut pour python3 si il existe
** Avertissement **
(ce script a été modifié pour ne pas créer un environnement virtuel comme je ne voulais pas que l'un et avec j1 pas j4 comme il n'a pas autour de 85% lors de l'exécution à noyaux multiples).
OriginalL'auteur Andy B
Changeant les options dans cmake n'a rien fait pour moi, peu importe quelles sont les options que j'ai modifié. Le principe le plus simple (hacky) solution pour moi était de
sudo mv /usr/bin/python2.7 /usr/bin/pythonNO-temp
Alors vous construire et d'installer opencv
puis
sudo mv /usr/bin/pythonNO-temp /usr/bin/python2.7
OriginalL'auteur wprins
J'ai eu du mal avec celui-ci pour quelques heures, et les réponses mentionnées ci-dessus n'a pas résolu le problème tout de suite.
Ajoutant à Ivan réponse, j'ai dû inclure ces indicateurs dans cmake pour faire ce travail:
Je laisse ça ici, donc c'est peut-être utile pour quelqu'un d'autre dans l'avenir.
OriginalL'auteur gdaras