Python.h header file missing on Mac OS X 10.6

I’m trying to access a shared C library in Python with ctypes on Mac OS X 10.6.8 with Python 2.7.4. To do this, I need to #include <Python.h> in my C code. If I try to compile a C script that only has that one include statement in it, call it “sample.c”, I get:

$ gcc -shared -o sample.so sample.c
sample.c:1:20: error: Python.h: No such file or directory

Since I’m running Mac 10.6, I have Xcode 3.2.6, the latest version available on this iteration of OS X without paying to upgrade to 10.7 and getting Xcode 4. Is there a way to get the Python header file without upgrading my OS?

  • How to write the ok button action in Objective-c?
  • Installing SVN on Mac OS X 10.4 and accessing it using svn+ssh:// URL
  • Core Animation and Anti Aliased Fonts on the Mac
  • Cocoa Mac Application Title says: “untitled”
  • fatal error: limits.h: No such file or directory
  • Python raw_input not taking input
  • 2 Solutions Collect From Internet About “Python.h header file missing on Mac OS X 10.6”

    Python is a framework on Mac OS X so you need to,

    #include <Python/Python.h>
    

    You also need to call gcc with the -framework argument to actually do anything inside C,

    gcc -shared -o sample.so sample.c -framework Python
    

    I’m not sure about 10.6.8, but Python.h should be in

    /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
    

    if you installed the official python.org binary. Try adding

    -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
    

    to your gcc command and see if that works.