30.9 compileall -- Byte-compile Python libraries
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
sys.path
.
-
Recursively descend the directory tree named by dir, compiling
all .py files along the way. The maxlevels parameter
is used to limit the depth of the recursion; it defaults to
10
. If ddir is given, it is used as the base path from which the filenames used in error messages will be generated. If force is true, modules are re-compiled even if the timestamps are up to date.If 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 quiet is true, nothing is printed to the standard output in normal operation.
-
Byte-compile all the .py files found along
sys.path
. If skip_curdir is true (the default), the current directory is not included in the search. The maxlevels and force parameters default to0
and are passed to the compile_dir() function.
To force a recompile of all the .py files in the Lib/ subdirectory and all its subdirectories:
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)
See Also:
- Byte-compile a single source file.