1.1 Include Files
All function, type and macro definitions needed to use the Python/C API are included in
your code by the following line:
This implies inclusion of the following standard headers:
(if available). Since Python may define some pre-processor definitions which affect the
standard headers on some systems, you must include Python.h before
any standard headers are included.
All user visible names defined by Python.h (except those defined by the included standard
headers) have one of the prefixes "Py" or "_Py". Names beginning with "_Py" are
for internal use by the Python implementation and should not be used by extension writers.
Structure member names do not have a reserved prefix.
Important: user code should never define names that begin with "Py" or "_Py". This confuses the reader,
and jeopardizes the portability of the user code to future Python versions, which may define
additional names beginning with one of these prefixes.
The header files are typically installed with Python. On Unix, these are located in the directories prefix/include/pythonversion/
where prefix and exec_prefix
are defined by the corresponding parameters to Python's configure
script and version is
sys.version[:3]. On Windows, the headers are
installed in prefix/include, where prefix is the installation directory specified to the installer.
To include the headers, place both directories (if different) on your compiler's search
path for includes. Do not place the parent directories on the search path and then use
"#include <python2.3/Python.h>"; this will break on
multi-platform builds since the platform independent headers under prefix include the platform specific headers from exec_prefix.
C++ users should note that though the API is defined entirely using C, the header files do
properly declare the entry points to be
extern "C", so there is no need
to do anything special to use the API from C++.