Подтвердить что ты не робот

Фатальная ошибка: файл "Python.h" не найден при установке opencv

Я пытаюсь получить opencv 3.1, установленный для Python на моей Mac OS X 10.10.5 Я следую описанным здесь шагам - http://www.pyimagesearch.com/2015/06/15/install-opencv-3-0-and-python-2-7-on-osx/

Когда я на самом деле пытаюсь установить opencv после установки, я получаю следующую ошибку:

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

Я просмотрел StackOverflow и обнаружил, что большинство людей, сталкивающихся с этой проблемой, используют Anaconda, что не мое дело. Было бы здорово, если бы кто-то мог указать мне в правильном направлении, чтобы зафиксировать это.

Спасибо,

4b9b3361

Ответ 1

Я использую El Capitan, но я не думаю, что в пути к заголовку Python должна быть большая разница. Я нахожусь у меня:

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

Вы можете попробовать и запустить:

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

затем попробуйте остальные шаги.

Ответ 2

Если Python.h не найден при создании одного из файлов *.cpp, установите следующую переменную ENV

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

Пожалуйста, проверьте наличие пути в вашей системе и убедитесь, что Python.h есть.

Ответ 3

Run

brew install python

или

brew upgrade python

после этого, все (vim в моем случае), которые вы хотите установить, будет успешным.

Ответ 4

У меня была такая же проблема в OSX, исправлена ​​установкой переменной среды CPLUS_INCLUDE_PATH. Был также построен в среде анаконды, которая могла бы иметь сложные вещи.

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 ..

Ответ 5

Сначала вам нужно проверить и убедиться, что вы установили python с помощью brew, и вы используете системный python lib двоичный файл. Это было упомянуто в блоге.

Во-вторых, версия python в команде cmake должна соответствовать тому, что brew установил для вас. Вы должны дважды проверить это.

Ответ 6

Да, пересмотреть пути, используемые в команде cmake. Они должны существовать в вашей файловой системе. В моем случае я установил python 3.5, а в исходной документации используется python 3.4.

Ответ 7

Мой подход был другим, но в основном это упоминал Джонатан Лау.

Я использовал pyenv и conda и изменил свой путь к python lib, который вызвал проблему. Чтобы решить эту проблему, вот что я сделал

  • Комментирует настройку PATH для pyenv в .bashrc
  • Перезагрузите терминал и brew установите все, что вам нужно (vim в моем случае)
  • Изменить .bashrc назад