9

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?

9
  • Look in the include folder of your Python installation. Commented Jul 11, 2015 at 15:07
  • Hi @MalikBrahimi, could you be more specific please? Commented Jul 11, 2015 at 15:07
  • if i do `cd /usr/local/bin/python' it tells me "not a directory. If I go to /usr/local/bin/ within finder, I see a python icon, but no folder. Commented Jul 11, 2015 at 15:21
  • Look in the folders mentioned here. Commented Jul 11, 2015 at 15:22
  • Ok! using which Python i get /Users/Andrea/anaconda/bin/Python. Commented Jul 11, 2015 at 15:27

4 Answers 4

9

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'.

Sign up to request clarification or add additional context in comments.

1 Comment

I've just realized that I only partially uncommented those anaconda-related PYTHON_INCLUDE lines... Ouch, had to re-make. Thanks a lot for pointing out the details!
3

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.

Comments

0

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

Comments

0

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.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.