\section{\module{compileall} --- Byte-compile Python libraries}\declaremodule{standard}{compileall}\modulesynopsis{Tools for byte-compiling all Python source files in a directory tree.}This module provides some utility functions to support installingPython libraries. These functions compile Python source files in adirectory tree, allowing users without permission to write to thelibraries to take advantage of cached byte-code files.The source file for this module may also be used as a script tocompile Python sources in directories named on the command line or in\code{sys.path}.\begin{funcdesc}{compile_dir}{dir\optional{, maxlevels\optional{, ddir\optional{, force\optional{, rx\optional{, quiet}}}}}} Recursively descend the directory tree named by \var{dir}, compiling all \file{.py} files along the way. The \var{maxlevels} parameter is used to limit the depth of the recursion; it defaults to \code{10}. If \var{ddir} is given, it is used as the base path from which the filenames used in error messages will be generated. If \var{force} is true, modules are re-compiled even if the timestamps are up to date. If \var{rx} is given, it specifies a regular expression of file names to exclude from the search; that expression is searched for in the full path. If \var{quiet} is true, nothing is printed to the standard output in normal operation.\end{funcdesc}\begin{funcdesc}{compile_path}{\optional{skip_curdir\optional{, maxlevels\optional{, force}}}} Byte-compile all the \file{.py} files found along \code{sys.path}. If \var{skip_curdir} is true (the default), the current directory is not included in the search. The \var{maxlevels} and \var{force} parameters default to \code{0} and are passed to the \function{compile_dir()} function.\end{funcdesc}To force a recompile of all the \file{.py} files in the \file{Lib/}subdirectory and all its subdirectories:\begin{verbatim}import compileallcompileall.compile_dir('Lib/', force=True)# Perform same compilation, excluding files in .svn directories.import recompileall.compile_dir('Lib/', rx=re.compile('/[.]svn'), force=True)\end{verbatim}\begin{seealso} \seemodule[pycompile]{py_compile}{Byte-compile a single source file.}\end{seealso}
\section{\module{compileall} ---
Byte-compile Python libraries}
\declaremodule{standard}{compileall}
\modulesynopsis{Tools for byte-compiling all Python source files in a
directory tree.}
This module provides some utility functions to support installing
Python libraries. These functions compile Python source files in a
directory tree, allowing users without permission to write to the
libraries to take advantage of cached byte-code files.
The source file for this module may also be used as a script to
compile Python sources in directories named on the command line or in
\code{sys.path}.
\begin{funcdesc}{compile_dir}{dir\optional{, maxlevels\optional{,
ddir\optional{, force\optional{,
rx\optional{, quiet}}}}}}
Recursively descend the directory tree named by \var{dir}, compiling
all \file{.py} files along the way. The \var{maxlevels} parameter
is used to limit the depth of the recursion; it defaults to
\code{10}. If \var{ddir} is given, it is used as the base path from
which the filenames used in error messages will be generated. If
\var{force} is true, modules are re-compiled even if the timestamps
are up to date.
If \var{rx} is given, it specifies a regular expression of file
names to exclude from the search; that expression is searched for in
the full path.
If \var{quiet} is true, nothing is printed to the standard output
in normal operation.
\end{funcdesc}
\begin{funcdesc}{compile_path}{\optional{skip_curdir\optional{,
maxlevels\optional{, force}}}}
Byte-compile all the \file{.py} files found along \code{sys.path}.
If \var{skip_curdir} is true (the default), the current directory is
not included in the search. The \var{maxlevels} and
\var{force} parameters default to \code{0} and are passed to the
\function{compile_dir()} function.
\end{funcdesc}
To force a recompile of all the \file{.py} files in the \file{Lib/}
subdirectory and all its subdirectories:
\begin{verbatim}
import compileall
compileall.compile_dir('Lib/', force=True)
# Perform same compilation, excluding files in .svn directories.
import re
compileall.compile_dir('Lib/', rx=re.compile('/[.]svn'), force=True)
\end{verbatim}
\begin{seealso}
\seemodule[pycompile]{py_compile}{Byte-compile a single source file.}
\end{seealso}