1 | \section{\module{py_compile} ---
|
---|
2 | Compile Python source files}
|
---|
3 |
|
---|
4 | % Documentation based on module docstrings, by Fred L. Drake, Jr.
|
---|
5 | % <fdrake@acm.org>
|
---|
6 |
|
---|
7 | \declaremodule[pycompile]{standard}{py_compile}
|
---|
8 |
|
---|
9 | \modulesynopsis{Compile Python source files to byte-code files.}
|
---|
10 |
|
---|
11 |
|
---|
12 | \indexii{file}{byte-code}
|
---|
13 | The \module{py_compile} module provides a function to generate a
|
---|
14 | byte-code file from a source file, and another function used when the
|
---|
15 | module source file is invoked as a script.
|
---|
16 |
|
---|
17 | Though not often needed, this function can be useful when installing
|
---|
18 | modules for shared use, especially if some of the users may not have
|
---|
19 | permission to write the byte-code cache files in the directory
|
---|
20 | containing the source code.
|
---|
21 |
|
---|
22 | \begin{excdesc}{PyCompileError}
|
---|
23 | Exception raised when an error occurs while attempting to compile the file.
|
---|
24 | \end{excdesc}
|
---|
25 |
|
---|
26 | \begin{funcdesc}{compile}{file\optional{, cfile\optional{, dfile\optional{, doraise}}}}
|
---|
27 | Compile a source file to byte-code and write out the byte-code cache
|
---|
28 | file. The source code is loaded from the file name \var{file}. The
|
---|
29 | byte-code is written to \var{cfile}, which defaults to \var{file}
|
---|
30 | \code{+} \code{'c'} (\code{'o'} if optimization is enabled in the
|
---|
31 | current interpreter). If \var{dfile} is specified, it is used as
|
---|
32 | the name of the source file in error messages instead of \var{file}.
|
---|
33 | If \var{doraise} is true, a \exception{PyCompileError} is raised when
|
---|
34 | an error is encountered while compiling \var{file}. If \var{doraise}
|
---|
35 | is false (the default), an error string is written to \code{sys.stderr},
|
---|
36 | but no exception is raised.
|
---|
37 | \end{funcdesc}
|
---|
38 |
|
---|
39 | \begin{funcdesc}{main}{\optional{args}}
|
---|
40 | Compile several source files. The files named in \var{args} (or on
|
---|
41 | the command line, if \var{args} is not specified) are compiled and
|
---|
42 | the resulting bytecode is cached in the normal manner. This
|
---|
43 | function does not search a directory structure to locate source
|
---|
44 | files; it only compiles files named explicitly.
|
---|
45 | \end{funcdesc}
|
---|
46 |
|
---|
47 | When this module is run as a script, the \function{main()} is used to
|
---|
48 | compile all the files named on the command line.
|
---|
49 |
|
---|
50 | \begin{seealso}
|
---|
51 | \seemodule{compileall}{Utilities to compile all Python source files
|
---|
52 | in a directory tree.}
|
---|
53 | \end{seealso}
|
---|