make pycaffe fatal error: 'Python.h' file not found

纵然是瞬间 提交于 2019-12-23 07:38:51

问题


I compiled caffe on a mac running OSX 10.9.5 and I know trying to compile pycaffe. When I run make pycaffe in the caffe root folder, I get:

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

how can I fix this?

Perhaps is something wrong with Makefile.config. How do I know what is my PYTHONPATH?


回答1:


Looking at the comments, I see that you use Anaconda. In Makefile.config, you should uncomment the lines dedicated to 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 is in $(ANACONDA_HOME)/include/python2.7 as you can see running sudo find / -name 'Python.h'.




回答2:


I met this problem too. I have set the PYTHON_INCLUDE PATH

    PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
    $(ANACONDA_HOME)/include/python2.7

But it still can't find the Python.h

So I just give the include path manually to the compiler as follows:

    export CPLUS_INCLUDE_PATH=/home/woolawren/anaconda2/include/python2.7/:$CPLUS_INCLUDE_PATH

if you don't use anaconda2, you can use:

    export CPLUS_INCLUDE_PATH=/usr/include/python2.7:$CPLUS_INCLUDE_PATH

I have successfully done "make pycaffe" by doing this.




回答3:


I just finished a tedious Caffe install on Arch Linux; hopefully my install notes (link below) will help others.

While specific to my Caffe install, those notes address the "Python.h" install error (this Question), as well as a downstream issue mentioned in another SO question,

Import caffe error.

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

My gist file (notes):

Caffe Installation Notes

https://gist.github.com/victoriastuart/fb2cb22209ccb2771963a25c06221213



回答4:


I uncommented the below code in Makefile.config

PYTHON_INCLUDE := /usr/include/python3.5m \
                 /usr/lib/python3.5/dist-packages/numpy/core/include

Then did sudo make pycaffe.

It worked.



来源:https://stackoverflow.com/questions/31358451/make-pycaffe-fatal-error-python-h-file-not-found

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!