Linked Questions

Popular Questions

cx_Freeze Not creating multiple executables

Asked by At

I am trying to create multiple executables within the same msi installer using cx_Freeze:

import sys, os.path
from cx_Freeze import setup, Executable
import cx_Freeze.hooks


PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
os.environ['TCL_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tcl8.6')
os.environ['TK_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tk8.6')

base = None
if sys.platform == 'win32':
    base = 'Win32GUI'

executables = [
    Executable('config_monkey.py', base=base), Executable('se8650_monkey.py', base=base)
]

options = {
    'build_exe': {
        'include_files':[
            os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tk86t.dll'),
            os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tcl86t.dll'),
         ],
         'packages':['numpy', 'pandas', 'numpy.lib.format', 'atexit', 'numpy.core._methods', 'tkinter'],
         'includes':['numpy', 'pandas', 'numpy.lib.format', 'atexit', 'numpy.core._methods', 'tkinter'],
         'excludes':['scipy','matplotlib']
    },
}

setup(name='simian',
      version='0.1',
      description='SE Apps Config Tool',
      executables=executables,
      options=options
      )

It only creates the first executable config_monkey.exe.

If I run it just with

executables = [
    Executable('se8650_monkey.py', base=base)
]

or

executables = [
    Executable('config_monkey.py', base=base)
]

, the individual executables get created just fine.

Why will it not create two executables??

Related Questions