source: vendor/python/2.5/Doc/lib/libcompileall.tex

Last change on this file was 3225, checked in by bird, 18 years ago

Python 2.5

File size: 2.3 KB
Line 
1\section{\module{compileall} ---
2 Byte-compile Python libraries}
3
4\declaremodule{standard}{compileall}
5\modulesynopsis{Tools for byte-compiling all Python source files in a
6 directory tree.}
7
8
9This module provides some utility functions to support installing
10Python libraries. These functions compile Python source files in a
11directory tree, allowing users without permission to write to the
12libraries to take advantage of cached byte-code files.
13
14The source file for this module may also be used as a script to
15compile Python sources in directories named on the command line or in
16\code{sys.path}.
17
18
19\begin{funcdesc}{compile_dir}{dir\optional{, maxlevels\optional{,
20 ddir\optional{, force\optional{,
21 rx\optional{, quiet}}}}}}
22 Recursively descend the directory tree named by \var{dir}, compiling
23 all \file{.py} files along the way. The \var{maxlevels} parameter
24 is used to limit the depth of the recursion; it defaults to
25 \code{10}. If \var{ddir} is given, it is used as the base path from
26 which the filenames used in error messages will be generated. If
27 \var{force} is true, modules are re-compiled even if the timestamps
28 are up to date.
29
30 If \var{rx} is given, it specifies a regular expression of file
31 names to exclude from the search; that expression is searched for in
32 the full path.
33
34 If \var{quiet} is true, nothing is printed to the standard output
35 in normal operation.
36\end{funcdesc}
37
38\begin{funcdesc}{compile_path}{\optional{skip_curdir\optional{,
39 maxlevels\optional{, force}}}}
40 Byte-compile all the \file{.py} files found along \code{sys.path}.
41 If \var{skip_curdir} is true (the default), the current directory is
42 not included in the search. The \var{maxlevels} and
43 \var{force} parameters default to \code{0} and are passed to the
44 \function{compile_dir()} function.
45\end{funcdesc}
46
47To force a recompile of all the \file{.py} files in the \file{Lib/}
48subdirectory and all its subdirectories:
49
50\begin{verbatim}
51import compileall
52
53compileall.compile_dir('Lib/', force=True)
54
55# Perform same compilation, excluding files in .svn directories.
56import re
57compileall.compile_dir('Lib/', rx=re.compile('/[.]svn'), force=True)
58\end{verbatim}
59
60
61\begin{seealso}
62 \seemodule[pycompile]{py_compile}{Byte-compile a single source file.}
63\end{seealso}
Note: See TracBrowser for help on using the repository browser.