cinap_lenrekadd hg and python4bb9e2215 years agoHistory
63 lines · 2.3 KB · TeX
RawDownload
\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 compileall compileall.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}