バージョン 2.7 で追加.
sysconfig モジュールは、 インストールパスのリストや、現在のプラットフォームに関連した構成などの、 Python の構成情報 (configuration information) へのアクセスを提供します。
Python の配布物は、 Python 自体のバイナリや、 distutils によってコンパイルされる外部のC拡張をビルドするのに必要な、 Makefile と pyconfig.h ヘッダーファイルを含んでいます。
sysconfig はこれらのファイルに含まれる全ての変数を辞書に格納し、 get_config_vars() や get_config_var() でアクセスできるようにします。
Windows では構成変数はだいぶ少なくなります。
引数がない場合、現在のプラットフォームに関する全ての構成変数の辞書を返します。
引数がある場合、各引数を構成変数辞書から検索した結果の変数のリストを返します。
各引数において、変数が見つからなかった場合は None が返されます。
1つの変数 name を返します。 get_config_vars().get(name) と同じです。
name が見つからない場合、 None を返します。
使用例:
>>> import sysconfig
>>> sysconfig.get_config_var('Py_ENABLE_SHARED')
0
>>> sysconfig.get_config_var('LIBDIR')
'/usr/local/lib'
>>> sysconfig.get_config_vars('AR', 'CXX')
['ar', 'g++']
Python はプラットフォームとインストールオプションに依存して、異なるインストールスキームを利用します。このスキームは、 os.name の値に基づいてユニークな識別子で sysconfig に格納されます。
Distutils やそれに基づいたシステムによって新しいコンポーネントをインストールするときは、同じスキームに従ってファイルを正しい場所にコピーします。
Python は現在7つのスキームをサポートしています:
各スキームは、ユニークな識別子を持ったいくつかのパスの集合から成っています。現在 Python は8つのパスを利用します:
sysconfig はこれらのパスを決定するためのいくつかの関数を提供しています。
scheme で指定されたインストールスキームから、 path name に従ってインストールパスを返します。
name は get_path_names() が返すリストに含まれる値でなければなりません。
sysconfig はインストールパスを、パス名、プラットフォーム、展開される変数に従って格納します。例えば、 nt スキームでの stdlib パスは {base}/Lib になります。
get_path() はパスを展開するのに get_config_vars() が返す変数を利用します。全ての変数は各プラットフォームにおいてデフォルト値を持っていて、この関数を呼び出したときにデフォルト値を取得する場合があります。
scheme が指定された場合、 get_scheme_names() が返すリストに含まれる値でなければなりません。指定されなかった場合は、現在のプラットフォームでのデフォルトスキームが利用されます。
bars が指定された場合、 get_config_vars() が返す辞書をアップデートする変数辞書でなければなりません。
expand が False に設定された場合、パスは変数を使って展開されません。
name が見つからなかった場合、 None を返します。
インストールスキームに基づいた全てのインストールパスを格納した辞書を返します。詳しい情報は get_path() を参照してください。
scheme が指定された場合、 get_scheme_names() が返すリストに含まれる値でなければなりません。指定されなかった場合は、現在のプラットフォームでのデフォルトスキームが利用されます。
bars が指定された場合、 get_config_vars() が返す辞書をアップデートする変数辞書でなければなりません。
expand が False に設定された場合、パスは変数を使って展開されません。
scheme が実在するスキームでなかった場合、 get_paths() は KeyError を発生させます。
MAJOR.MINOR の型の Python バージョン番号文字列を返します。 sys.version[:3] に似ています。
現在のプラットフォームを識別するための文字列を返します。
この関数は主に、プラットフォーム依存のビルドディレクトリやビルド済み配布物を判別するのに利用します。典型的に、OS名とバージョンと(os.uname() で提供される)アーキテクチャを含みますが、実際の情報はOS依存です。例えば、 IRIX ではアーキテクチャは重要ではない(IRIX は SGI のハードでしか動きません) のに対して、 Linux ではカーネルバージョンが重要な情報ではありません。
返される値の例:
Windows では以下のどれかを返します:
Mac OS X では以下のどれかを返すかもしれません:
その他の非POSIXプラットフォームでは、現在のところ単に sys.platform を返します。
現在の Python インストールがソースからビルドされた場合に True を返します。
config.h スタイルのファイルを解析します。
fp は config.h スタイルのファイルを指すファイルライクオブジェクトです。
name/value ペアを格納した辞書を返します。第二引数にオプションの辞書が渡された場合、新しい辞書ではなくその辞書を利用し、ファイルから読み込んだ値で更新します。
pyconfig.h のパスを返します。