Hi everyone,
I'm writing a big program (windows 7, python 2.6.6) which includes
lots of python libraries (SQLalchemy, PyQt, SocketServer,
Matplotlib,...). Now I'm trying to build a stand alone executable with
py2exe (0.6.9) and everything works great. The only issue is that the
executable seems to be slower with respect to the same code run from
Idle.
For example, at stratup my program sets up a server and during the
execution sends commands to it and waits for reply. In the code case
the average time needed to process a given command is 0.24s, in the
executable case it raises to 0.30 (times are obviously measured
considering the same command).
It is really difficult for me to build a small example script to show
the problem, so I guess if anyone knows if there are some issues in
py2exe that could bring such a performance loss. Here is the code of my
setup.py script:
 
from distutils.core import setup
import py2exe
import matplotlib as mpl
import glob, shutil
 
mpl.use('Qt4Agg')
shutil.rmtree("build", ignore_errors=True)
                            
includes = ['sip', "PyQt4",
            "matplotlib.backends", 
            "matplotlib.backends.backend_qt4agg",
            "win32com", "win32service", "win32serviceutil", "win32event",
            "sqlalchemy.dialects.mssql", "pyodbc", "datetime", "decimal",
            "sqlalchemy.dialects.mysql", "MySQLdb",
            "sqlalchemy.dialects.sqlite"]
excludes = ['_gtkagg', '_tkagg', '_ps', '_fltkagg', 'Tkinter', 'Tkconstants',
            '_cairo', '_gtk', 'gtkcairo', 'pydoc', 'bsddb', 'curses', '_agg',
            'tcl', '_wxagg', '_gtagg', '_cocoaagg', '_wx']
packages = ['matplotlib', 'pytz', "encodings"]
dll_excludes = ['libgdk-win32-2.0-0.dll', 'libgobject-2.0-0.dll', 'tcl84.dll',
                "libgdk_pixbuf-2.0-0.dll", 'tk84.dll']
data_files = mpl.get_py2exe_datafiles()
 
setup(name="MyProg",
      console=[{"script": 'MyProg.pyw',
                "icon_resources": [(1, "color.ico")]}],
      options = {"py2exe": {
                            "compressed":2,
                            "optimize":2,
                            "includes":includes,
                            "excludes":excludes,
                            "packages":packages,
                            "dll_excludes":dll_excludes,
                            "bundle_files":2,
                            "dist_dir":'dist',
                            "xref":False,
                            "skip_archive":False,
                            "ascii": False,
                            "custom_boot_script":''
                            }},
      zipfile = r'lib\library.zip',
      data_files=data_files
)
 
 
Any hint is welcome,
thanks!