| 
									
										
										
										
											2000-04-03 20:13:55 +00:00
										 |  |  | \section{\module{py_compile} --- | 
					
						
							|  |  |  |          Compile Python source files} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-08-11 15:46:25 +00:00
										 |  |  | % Documentation based on module docstrings, by Fred L. Drake, Jr.
 | 
					
						
							|  |  |  | % <fdrake@acm.org>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \declaremodule[pycompile]{standard}{py_compile} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \modulesynopsis{Compile Python source files to byte-code files.} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \indexii{file}{byte-code} | 
					
						
							| 
									
										
										
										
											2002-08-21 20:56:21 +00:00
										 |  |  | The \module{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. | 
					
						
							| 
									
										
										
										
											1998-08-11 15:46:25 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-01-15 11:51:06 +00:00
										 |  |  | \begin{excdesc}{PyCompileError} | 
					
						
							|  |  |  | Exception raised when an error occurs while attempting to compile the file. | 
					
						
							|  |  |  | \end{excdesc} | 
					
						
							| 
									
										
										
										
											1998-08-11 15:46:25 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-01-15 11:51:06 +00:00
										 |  |  | \begin{funcdesc}{compile}{file\optional{, cfile\optional{, dfile\optional{, doraise}}}} | 
					
						
							| 
									
										
										
										
											1998-08-11 15:46:25 +00:00
										 |  |  |   Compile a source file to byte-code and write out the byte-code cache  | 
					
						
							|  |  |  |   file.  The source code is loaded from the file name \var{file}.  The  | 
					
						
							|  |  |  |   byte-code is written to \var{cfile}, which defaults to \var{file} | 
					
						
							|  |  |  |   \code{+} \code{'c'} (\code{'o'} if optimization is enabled in the | 
					
						
							|  |  |  |   current interpreter).  If \var{dfile} is specified, it is used as | 
					
						
							|  |  |  |   the name of the source file in error messages instead of \var{file}.  | 
					
						
							| 
									
										
										
										
											2003-01-15 11:51:06 +00:00
										 |  |  |   If \var{doraise} = True, a PyCompileError is raised when an error is  | 
					
						
							|  |  |  |   encountered while compiling \var{file}. If \var{doraise} = False (the default),  | 
					
						
							|  |  |  |   an error string is written to sys.stderr, but no exception is raised. | 
					
						
							| 
									
										
										
										
											1998-08-11 15:46:25 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-08-21 20:56:21 +00:00
										 |  |  | \begin{funcdesc}{main}{\optional{args}} | 
					
						
							|  |  |  |   Compile several source files.  The files named in \var{args} (or on | 
					
						
							|  |  |  |   the command line, if \var{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. | 
					
						
							|  |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | When this module is run as a script, the \function{main()} is used to | 
					
						
							|  |  |  | compile all the files named on the command line. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-08-11 15:46:25 +00:00
										 |  |  | \begin{seealso} | 
					
						
							|  |  |  |   \seemodule{compileall}{Utilities to compile all Python source files | 
					
						
							|  |  |  |                          in a directory tree.} | 
					
						
							|  |  |  | \end{seealso} |