我在运行OSX 10.9.5的mac上编译了caffe,我知道尝试编译pycaffe。当我在caffe根文件夹中运行make 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是什么?
答案 0 :(得分:7)
观看评论,我看到你使用了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'
。
答案 1 :(得分:1)
我也遇到了这个问题。
我已设置PYTHON_INCLUDE
路径
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7
但它仍然无法找到Python.h
所以我只是手动将include路径提供给编译器,如下所示:
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
我已成功完成了#34;制作pycaffe&#34;通过这样做。
答案 2 :(得分:0)
我刚刚在Arch Linux上完成了繁琐的Caffe安装;希望我的安装说明(下面的链接)可以帮助其他人。
虽然特定于我的Caffe安装,但这些注释解决了“Python.h”安装错误(本期)以及另一个SO问题中提到的下游问题,
https://stackoverflow.com/questions/28177298/import-caffe-error
我的主要文件(备注):
https://gist.github.com/victoriastuart/fb2cb22209ccb2771963a25c06221213
答案 3 :(得分:0)
我在Makefile.config中取消注释下面的代码
PYTHON_INCLUDE := /usr/include/python3.5m \
/usr/lib/python3.5/dist-packages/numpy/core/include
然后sudo做了pycaffe。
有效。