How can I compile Python script into bytecode
Klaus Alexander Seistrup
spam at magnetic-ink.dk
Sat Jan 4 22:30:25 CET 2003
> How can I build a .pyc file from a source script?
>From within python:
>>> from py_compile import compile
>>> print compile.__doc__
Byte-compile one Python source file to Python bytecode.
file: source filename
cfile: target filename; defaults to source with 'c' or 'o' appended
('c' normally, 'o' in optimizing mode, giving .pyc or .pyo)
dfile: purported filename; defaults to source (this is the filename
that will show up in error messages)
Note that it isn't necessary to byte-compile Python modules for
execution efficiency -- Python itself byte-compiles a module when
it is loaded, and if it can, writes out the bytecode to the
corresponding .pyc (or .pyo) file.
However, if a Python installation is shared between users, it is a
good idea to byte-compile all modules upon installation, since
other users may not be able to write in the source directories,
and thus they won't be able to write the .pyc/.pyo file, and then
they would be byte-compiling every module each time it is loaded.
This can slow down program start-up considerably.
See compileall.py for a script/module that uses this module to
byte-compile all installed files (or all files in selected
Or, if you're on a unix box and have a bunch of files to compile,
you could do this from a shell prompt:
$ cd /path/to/dir/with/python/scripts
$ compile='import py_compile, sys; py_compile.compile(sys.argv)'
$ find . -type f -name '*.py' | xargs -n 1 python -c "$compile"
><> vandag, môre, altyd saam
More information about the Python-list