diff options
Diffstat (limited to 'Doc/library/py_compile.rst')
-rw-r--r-- | Doc/library/py_compile.rst | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/Doc/library/py_compile.rst b/Doc/library/py_compile.rst new file mode 100644 index 0000000..c815846 --- /dev/null +++ b/Doc/library/py_compile.rst @@ -0,0 +1,55 @@ +:mod:`py_compile` --- Compile Python source files +================================================= + +.. module:: py_compile + :synopsis: Generate byte-code files from Python source files. + +.. % Documentation based on module docstrings, by Fred L. Drake, Jr. +.. % <fdrake@acm.org> + + + +.. index:: pair: file; byte-code + +The :mod:`py_compile` module provides a function to generate a byte-code file +from a source file, and another function used when the module source file is +invoked as a script. + +Though not often needed, this function can be useful when installing modules for +shared use, especially if some of the users may not have permission to write the +byte-code cache files in the directory containing the source code. + + +.. exception:: PyCompileError + + Exception raised when an error occurs while attempting to compile the file. + + +.. function:: compile(file[, cfile[, dfile[, doraise]]]) + + Compile a source file to byte-code and write out the byte-code cache file. The + source code is loaded from the file name *file*. The byte-code is written to + *cfile*, which defaults to *file* ``+`` ``'c'`` (``'o'`` if optimization is + enabled in the current interpreter). If *dfile* is specified, it is used as the + name of the source file in error messages instead of *file*. If *doraise* is + true, a :exc:`PyCompileError` is raised when an error is encountered while + compiling *file*. If *doraise* is false (the default), an error string is + written to ``sys.stderr``, but no exception is raised. + + +.. function:: main([args]) + + Compile several source files. The files named in *args* (or on the command + line, if *args* is not specified) are compiled and the resulting bytecode is + cached in the normal manner. This function does not search a directory + structure to locate source files; it only compiles files named explicitly. + +When this module is run as a script, the :func:`main` is used to compile all the +files named on the command line. + + +.. seealso:: + + Module :mod:`compileall` + Utilities to compile all Python source files in a directory tree. + |