1.1 インクルードファイル

Python/C APIを使うために必要な全ての関数、型、マクロ定義は 次の行によってあなたのコードに取り込まれる。

#include "Python.h"

これは次の標準ヘッダファイルの取り込みを意味する: <stdio.h>, <string.h>, <errno.h>と (もし利用可能なら) <stdlib.h>である。

Python.hで定義されたユーザから見える全ての名前は (取り込まれた標準ヘッダーファイルで定義されたものを除いて)、 接頭辞"Py"もしくは"_Py"の1つがついている。 "_Py"で始まる名前はPythonの実装によって内部的に使われるための ものであり、拡張モジュールの作成者によって使われるべきでない。 構造体メンバの名前は予約された接頭辞がついていない。

重要: ユーザコードは決して"Py"もしくは"_Py"で 始まる名前を定義するべきでない。これは読み手を混乱させ、 将来のPythonのバージョンへのユーザコードの移植性を危うくする。 そのバージョンはこれらの接頭辞で始まる名前を追加して定義する かもしれない。

ヘッダファイルは通常はPythonとともにインストールされる。Unixでは これらはディレクトリ $prefix/include/pythonversion/$exec_prefix/include/pythonversion/ に置かれる。ここで、$prefix$exec_prefixは Pythonのconfigureスクリプトへの対応するパラメータに よって定義される。versionsys.version[:3]である。 Windowsでは、ヘッダファイルは$prefix/includeに インストールされる。ここで、$prefixはインストーラに 指定したインストールディレクトリである。

ヘッダを取り込むためには、コンパイラのインクルードファイルの 検索パスに(もし異なるなら)両方のディレクトリを置きなさい。 検索パスに親ディレクトリを置いて、 "#include <python1.5/Python.h>"を使ってはならない$prefixの下にあるプラットフォームに独立なヘッダが $exec_prefixからプラットフォームに特定のヘッダを 取り込むため、複数のプラットフォームでの構築では、これは 失敗するからである。