9

I'm writing a C extension for a python application, and need to test python-specific C code. To do so I need to import Python.h into my C files, but for the life of me I haven't been able to do that. Most tutorials suggest something along the lines of sudo apt-get python-dev, but my system doesn't have apt-get, and even if it did I think it'd be better to have the dev files in my virtualenv.

Any idea how to get Python.h into my virtualenv?

0

3 Answers 3

10

Set environment variable C_INCLUDE_PATH to include the directory of your python distribution.

Example: 1. Get include directory of your python distribution

    find /usr/local/Cellar/ -name Python.h

This will return something like this:

    /usr/local/Cellar//python3/3.6.3/Frameworks/Python.framework/Versions/3.6/include/python3.6m/Python.h

Now Set you C_INCLUDE_PATH variable:

    export C_INCLUDE_PATH="/usr/local/Cellar//python3/3.6.3/Frameworks/Python.framework/Versions/3.6/include/python3.6m/"
Sign up to request clarification or add additional context in comments.

1 Comment

I needed to use find /opt/homebrew/Cellar -name Python.h for macOS Ventura 13.4.1. I did not have a /usr/local/Cellar/ directory.
4

in terminal,

$python-config --includes

Comments

3

Assuming you are using MacOSX and Python installed through homebrew,

in terminal, you can find Python.h with:

find /usr/local/Cellar/ -name Python.h

that return on my sytem:

/usr/local/Cellar//python/2.7.6/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.