web-dev-qa-db-fra.com

erreur fatale: fichier 'Python.h' introuvable lors de l'installation d'OpenCV

J'essaie d'obtenir l'opencv 3.1 installé pour Python sur mon Mac OS X 10.10.5 Je suis les étapes décrites ci-dessous - http://www.pyimagesearch.com/2015/06/15/install -opencv-3-0-and-python-2-7-on-osx/

Lorsque j'essaie d'installer opencv après toute la configuration, le message d'erreur suivant s'affiche: 

.../opencv/modules/python/src2/cv2.cpp:6:10: fatal error: 
  'Python.h' file not found
 #include <Python.h>
          ^

J'ai regardé autour de StackOverflow et découvert que la plupart des personnes confrontées à ce problème utilisaient Anaconda, ce qui n'est pas mon cas. Ce serait formidable si quelqu'un pouvait me diriger dans la bonne direction pour que cela soit réglé. 

Merci,

17
Sumanth

Si Python.h n’est pas trouvé lors de la création d’un des fichiers * .cpp, définissez la variable ENV suivante

export CPLUS_INCLUDE_PATH=/System/Library/Frameworks/Python.framework/Headers

Vérifiez l'existence du chemin dans votre système et assurez-vous que Python.h est présent. 

13
Sergey Sargsyan

J'utilise El Capitan mais je ne pense pas qu'il devrait y avoir beaucoup de différence dans le chemin d'accès à l'en-tête Python. Je trouve le mien à: 

/System/Library/Frameworks/Python.framework/Headers/Python.h

Vous pouvez essayer et exécuter:

export C_INCLUDE_PATH=/System/Library/Frameworks/Python.framework/Headers

puis essayez les étapes restantes.

11
polarise

Courir

brew install python

ou

brew upgrade python

après cela, tout ce que vous voulez installer (vim dans mon cas) sera réussi.

4
Feuda

J'ai eu le même problème sous OSX, corrigé en définissant la variable d'environnement CPLUS_INCLUDE_PATH . Construisait également dans un environnement anaconda qui pouvait avoir des choses compliquées.

export CPLUS_INCLUDE_PATH=~/anaconda/envs/py27/include/python2.7

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=~/anaconda/envs/py27/share \
    -D PYTHON2_PACKAGES_PATH=~/anaconda/envs/py27/lib/python2.7/site-packages \
    -D PYTHON2_LIBRARY=~/anaconda/envs/py27/bin/python \
    -D PYTHON_EXECUTABLE=~/anaconda/envs/py27/bin/python \
    -D PYTHON2_INCLUDE_DIR=~/anaconda/envs/py27/include/python2.7 \
    -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON \
    -D BUILD_EXAMPLES=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ..
2
yoziru-desu

Tout d'abord, vous devez vérifier et vous assurer que vous avez installé le python à l'aide de brew et que vous utilisez le binaire système python. Cela a été mentionné dans le blog.

Deuxièmement, la version de python dans la commande cmake doit correspondre à celle que brew a installée pour vous. Vous devriez vérifier cela.

1
Jonathan Lau

Oui, révisez les chemins utilisés dans la commande cmake. Ils doivent exister dans votre système de fichiers. Dans mon cas, j'ai installé Python 3.5 et la documentation d'origine utilise Python 3.4.

1

J'ai résolu mon problème en installant python2.7, apparemment il compilait avec python 3.4. Alors j'ai fait ce qui suit:

brew install python@2
brew link python@2
0
Younes Nj

Mon approche était différente, mais c'est essentiellement ce que Jonathan Lau a mentionné.

J'ai utilisé pyenv et conda et j'ai changé le chemin de ma bibliothèque python qui posait le problème . Pour le résoudre, voici ce que j'ai fait

  1. Paramètre PATH commenté pour pyenv dans .bashrc
  2. Redémarrez le terminal et installez ce que vous avez besoin d'infuser (vim dans mon cas)
  3. Changer .bashrc retour
0
H. Jiang