使pycaffe致命错误:' Python.h'文件未找到

时间:2015-07-11 14:55:59

标签: python macos compiler-errors neural-network caffe

我在运行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是什么?

4 个答案:

答案 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问题中提到的下游问题,

Import caffe error

https://stackoverflow.com/questions/28177298/import-caffe-error

我的主要文件(备注):

Caffe Installation Notes

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。

有效。