make pycaffe fatal error: 'Python.h' file not found
make pycaffe fatal error: 'Python.h' file not found
我在 mac 运行ning OSX 10.9.5 上编译了 caffe,我知道尝试编译 pycaffe。当我 运行 在 caffe 根文件夹中制作 pycaffe 时,我得到:
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
python/caffe/_caffe.cpp:1:10: fatal error: 'Python.h' file not found
#include <Python.h> // NOLINT(build/include_alpha)
^
1 error generated.
make: *** [python/caffe/_caffe.so] Error 1
我该如何解决这个问题?
也许 Makefile.config 有问题。我怎么知道我的 PYTHONPATH 是什么?
看评论,我看到你用的是Anaconda。在 Makefile.config
中,您应该取消注释专用于 Anaconda 的行:
# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
# ANACONDA_HOME := $(HOME)/anaconda
# PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
# $(ANACONDA_HOME)/include/python2.7 \
# $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
# We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/lib
# PYTHON_LIB := $(ANACONDA_HOME)/lib
如您所见,Python.h
在 $(ANACONDA_HOME)/include/python2.7
运行 sudo find / -name 'Python.h'
.
我刚刚在 Arch 上完成了繁琐的 Caffe 安装 Linux;希望我的安装说明(下面的link)会对其他人有所帮助。
虽然特定于我的 Caffe 安装,但这些说明解决了 "Python.h" 安装错误(本问题),以及另一个 SO 问题中提到的下游问题,
.
我的要点文件(注释):
https://gist.github.com/victoriastuart/fb2cb22209ccb2771963a25c06221213
我也遇到了这个问题。
我已经设置了 PYTHON_INCLUDE
PATH
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7
但是还是找不到 Python.h
所以我只是手动给编译器包含路径如下:
export CPLUS_INCLUDE_PATH=/home/woolawren/anaconda2/include/python2.7/:$CPLUS_INCLUDE_PATH
如果不使用anaconda2,可以使用:
export CPLUS_INCLUDE_PATH=/usr/include/python2.7:$CPLUS_INCLUDE_PATH
我已经通过这样做 "make pycaffe" 成功完成了。
我在 Makefile.config
中取消注释下面的代码
PYTHON_INCLUDE := /usr/include/python3.5m \
/usr/lib/python3.5/dist-packages/numpy/core/include
然后sudo做了pycaffe
成功了。
我在 mac 运行ning OSX 10.9.5 上编译了 caffe,我知道尝试编译 pycaffe。当我 运行 在 caffe 根文件夹中制作 pycaffe 时,我得到:
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
python/caffe/_caffe.cpp:1:10: fatal error: 'Python.h' file not found
#include <Python.h> // NOLINT(build/include_alpha)
^
1 error generated.
make: *** [python/caffe/_caffe.so] Error 1
我该如何解决这个问题?
也许 Makefile.config 有问题。我怎么知道我的 PYTHONPATH 是什么?
看评论,我看到你用的是Anaconda。在 Makefile.config
中,您应该取消注释专用于 Anaconda 的行:
# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
# ANACONDA_HOME := $(HOME)/anaconda
# PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
# $(ANACONDA_HOME)/include/python2.7 \
# $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
# We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/lib
# PYTHON_LIB := $(ANACONDA_HOME)/lib
如您所见,Python.h
在 $(ANACONDA_HOME)/include/python2.7
运行 sudo find / -name 'Python.h'
.
我刚刚在 Arch 上完成了繁琐的 Caffe 安装 Linux;希望我的安装说明(下面的link)会对其他人有所帮助。
虽然特定于我的 Caffe 安装,但这些说明解决了 "Python.h" 安装错误(本问题),以及另一个 SO 问题中提到的下游问题,
我的要点文件(注释):
https://gist.github.com/victoriastuart/fb2cb22209ccb2771963a25c06221213
我也遇到了这个问题。
我已经设置了 PYTHON_INCLUDE
PATH
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7
但是还是找不到 Python.h
所以我只是手动给编译器包含路径如下:
export CPLUS_INCLUDE_PATH=/home/woolawren/anaconda2/include/python2.7/:$CPLUS_INCLUDE_PATH
如果不使用anaconda2,可以使用:
export CPLUS_INCLUDE_PATH=/usr/include/python2.7:$CPLUS_INCLUDE_PATH
我已经通过这样做 "make pycaffe" 成功完成了。
我在 Makefile.config
中取消注释下面的代码PYTHON_INCLUDE := /usr/include/python3.5m \
/usr/lib/python3.5/dist-packages/numpy/core/include
然后sudo做了pycaffe
成功了。