Problem

If you specify the optimize option in your setup.py, this will only be used for the compiling of the needed modules, not for your main module!
For example if you have the following setup.py:

   1 from distutils.core import setup
   2 import py2exe
   3 
   4 setup(
   5         options={"py2exe":{"optimize":2}},
   6         console=["beep.py"]
   7 )

The bytecode embedded in the resulting .exe will not be optimised.

Solution

To get optimized bytecode, you need to call the setup.py like so:

python -OO setup.py py2exe

OptimizedBytecode (last edited 2008-07-08 11:27:44 by localhost)