IdentifiantMot de passe
Mot de passe oublié ?Je m'inscris ! (gratuit)
30.9 compileall -- Byte-compile Python libraries

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.

compile_dir( dir[, maxlevels[, ddir[, force[, rx[, quiet]]]]])
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.

compile_path( [skip_curdir[, maxlevels[, force]]])
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 to 0 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:

Module py_compile:
Byte-compile a single source file.
See About this document... for information on suggesting changes.