22 distutils.sysconfig -- システム設定情報

distutils.sysconfig モジュールでは、 Python の低水準の 設定情報へのアクセス手段を提供しています。 どの設定情報変数にアクセスできるかは、プラットフォームと設定自体に 大きく左右されます。また、特定の変数は、使っている Python の バージョンに対するビルドプロセスに左右されます; こうした変数は、 Unix システムでは、Makefile や Python と一緒にインストール される設定ヘッダから探し出されます。 設定ファイルのヘッダは、2.2 以降のバージョンでは pyconfig.h 、それ以前のバージョンでは config.h です。

他にも、distutils パッケージの別の部分を操作 する上で便利な関数がいくつか提供されています。

PREFIX
os.path.normpath(sys.prefix) の結果です。

EXEC_PREFIX
os.path.normpath(sys.exec_prefix) の結果です。

get_config_var( name)
ある一つの設定変数に対する値を返します。 get_config_vars().get(name) と同じです。

get_config_vars( ...)
定義されている変数のセットを返します。引数を指定しなければ、 設定変数名を変数の値に対応付けるマップ型を返します。 引数を指定する場合、引数の各値は文字列でなければならず、戻り値は 引数に関連付けられた各設定変数の値からなるシーケンスになります。 引数に指定した名前の設定変数に値がない場合、その変数値には None が入ります。

get_config_h_filename( )
設定ヘッダのフルパス名を返します。 Unixの場合、このヘッダファイルは configure スクリプトによって生成されるヘッダファイル名です; 他のプラットフォームでは、ヘッダは Python ソース配布物中で直接 与えられています。ファイルはプラットフォーム固有のテキストファイル です。

get_makefile_filename( )
Python をビルドする際に用いる Makefile のフルパスを返します。 Unixの場合、このファイルは configure スクリプトによって 生成されます; 他のプラットフォームでは、この関数の返す値の 意味は様々です。有意なファイル名を返す場合、ファイルは プラットフォーム固有のテキストファイル形式です。 この関数は POSIX プラットフォームでのみ有用です。

get_python_inc( [plat_specific[, prefix]])
C インクルードファイルディレクトリについて、一般的なディレクトリ名か、 プラットフォーム依存のディレクトリ名のいずれかを返します。 plat_specific が真であれば、プラットフォーム依存の インクルードディレクトリ名を返します; plat_specific が偽か、 省略された場合には、プラットフォームに依存しないディレクトリを 返します。 prefix が指定されていれば、PREFIX の代わりに用いられます。また、 plat_specific が真の場合、 EXEC_PREFIX の代わりに用いられます。

get_python_lib( [plat_specific[, standard_lib[, prefix]]])
ライブラリディレクトリについて、一般的なディレクトリ名か、 プラットフォーム依存のディレクトリ名のいずれかを返します。 plat_specific が真であれば、プラットフォーム依存の ライブラリディレクトリ名を返します; plat_specific が偽か、 省略された場合には、プラットフォームに依存しないディレクトリを 返します。prefix が指定されていれば、PREFIX の代わりに用いられます。また、 plat_specific が真の場合、 EXEC_PREFIX の代わりに用いられます。 standard_lib が真であれば、サードパーティ製の拡張モジュール をインストールするディレクトリの代わりに、標準ライブラリのディレクトリ を返します。

以下の関数は、distutils パッケージ内の使用だけを 前提にしています。

customize_compiler( compiler)
distutils.ccompiler.CCompiler インスタンスに対して、 プラットフォーム固有のカスタマイズを行います。

この関数は現在のところ、Unix だけで必要ですが、将来の互換性を 考慮して一貫して常に呼び出されます。この関数は様々な Unix の 変種ごとに異なる情報や、Python のMakefile に書かれた情報 をインスタンスに挿入します。この情報には、選択されたコンパイラや コンパイラ/リンカのオプション、そして共有オブジェクトを扱うために リンカに指定する拡張子が含まれます。

この関数はもっと特殊用途向けで、Python 自体のビルドプロセスで しか使われません。

set_python_build( )
distutils.sysconfig モジュールに、モジュールが Python の ビルドプロセスの一部として使われることを知らせます。これによって、 ファイルコピー先を示す相対位置が大幅に変更され、インストール済みの Python ではなく、ビルド作業領域にファイルが置かれるようになります。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。