How can I compile Python script into bytecode
Klaus Alexander Seistrup
spam at magnetic-ink.dk
Sat Jan 4 16:30:25 EST 2003
Shawn wrote:
> How can I build a .pyc file from a source script?
>From within python:
#v+
>>> from py_compile import compile
>>> compile("name_of_script.py")
>>> print compile.__doc__
Byte-compile one Python source file to Python bytecode.
Arguments:
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
directories).
>>>
#v-
Or, if you're on a unix box and have a bunch of files to compile,
you could do this from a shell prompt:
#v+
$ cd /path/to/dir/with/python/scripts
$ compile='import py_compile, sys; py_compile.compile(sys.argv[1])'
$ find . -type f -name '*.py' | xargs -n 1 python -c "$compile"
#v-
// Klaus
--
><> vandag, môre, altyd saam
More information about the Python-list
mailing list