# 18.9 `compileall` -- Pythonライブラリをバイトコンパイル

このモジュールは、指定したディレクトリに含まれるPythonソースをコンパイル する関数を定義しています。Pythonライブラリをインストールする時、ソースフ ァイルを事前にコンパイルしておく事により、ライブラリのインストール先ディ レクトリに書き込み権限をもたないユーザでもキャッシュされたバイトコードフ ァイルを利用する事ができるようになります。

このモジュールのソースコードは、Pytonソースファイルをコンパイルするスク リプトとしても利用する事ができます。コンパイルするディレクトリは、 `sys.path`で指定されたディレクトリ、またはコマンドラインで指定され たディレクトリとなります。

`compile_dir`( | dir[, maxlevels[, ddir[, force[, rx[, quiet]]]]])

  dirで指定されたディレクトリを再帰的に下降し、見つかった .pyを全てコンパイルします。maxlevelsは、下降する最大の深 さ（デフォルトは`10`）を指定します。ddirには、エラーメッ セージで使用されるファイル名の、親ディレクトリ名を指定する事ができま す。forceが真の場合、モジュールはファイルの更新日付に関わりなく 再コンパイルされます。

  rxには、検索対象から除外するファイル名の正規表現式を指定します。 絶対パス名をこの正規表現で`search`し、一致した場合にはコンパイル 対象から除外します。

  quietが真の場合、通常処理では標準出力に何も表示しません。

`compile_path`( | [skip_curdir[, maxlevels[, force]]])

  `sys.path`に含まれる、全ての.pyファイルをバイトコンパイル します。skip_curdirが真（デフォルト）の時、カレントディレクトリ は検索されません。maxlevelsとforceはデフォルトでは`0` で、`compile_dir()`に渡されます。

参考資料:

`py_compile`モジュール:
  Byte-compile a single source file.