我想在我的Mac OS X 10.10.5上安装Python的opencv 3.1 我按照此处列出的步骤进行了操作 - 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,这不是我的情况。如果有人能指出我正确的方向来解决这个问题,那就太棒了。
谢谢,
答案 0 :(得分:13)
如果在制作其中一个* .cpp文件时未找到Python.h,请设置以下ENV变量
Match
请检查系统中是否存在路径,并确保Python.h在那里。
答案 1 :(得分:11)
我正在使用El Capitan
,但我不认为Python标头的路径应该有太大差异。我找到了我的:
/System/Library/Frameworks/Python.framework/Headers/Python.h
您可以尝试并运行:
export C_INCLUDE_PATH=/System/Library/Frameworks/Python.framework/Headers
然后尝试剩余的步骤。
答案 2 :(得分:4)
运行
brew install python
或
brew upgrade python
执行此操作后,您要安装的所有内容(在我的情况下都是vim)都会成功。
答案 3 :(得分:2)
我在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 ..
答案 4 :(得分:2)
这个问题似乎与集成到macOS中的默认Python2有关,该文件的地址为Python.h
头文件:
/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h
Python版本可能会更改,具体取决于您所使用的macOS版本。但是,如果您已经使用Hombrew安装了Python3,则可能应该在这样的路径中找到头文件:
/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/include/python3.7m/Python.h
取决于您安装的brew
的Python3版本。同样,在Mac上也可以使用Python进行其他多种操作(例如,anaconda,intel python,pypy等)。找到特定Python.h
路径的最佳方法是使用以下方法搜索整个设备:
sudo find / -iname "Python.h"
然后您可以运行命令
export C_INCLUDE_PATH=<path/to/the/specific/header/file>
在您的bash终端中,或将其添加到~/.bash_profile
中以使其永久存在。
您可能还想检查MakeFile(或该软件使用的其他工具,例如cmake ...),以查看期望的Python.h
版本以及在什么位置。期待它。
答案 5 :(得分:1)
首先,您必须检查并确保已使用brew安装了python,并且您正在使用系统python lib二进制文件。博客中提到了这一点。
其次,cmake命令中的python版本必须与brew为您安装的版本匹配。你应该仔细检查一下。
答案 6 :(得分:1)
是,修改cmake命令中使用的路径。它们必须存在于您的文件系统中。在我的例子中,我安装了python 3.5,原始文档使用python 3.4。
答案 7 :(得分:0)
我的方法不同,但它基本上是乔纳森·刘所提到的。
我使用pyenv和conda并更改了导致问题的python lib路径。 要解决它,这就是我做的事情
答案 8 :(得分:0)
我通过安装python2.7解决了我的问题,显然它是使用python 3.4编译的。所以我做了以下事情:
brew install python@2
brew link python@2