I\'ve made a program which launches another python program using os.startfile()
.
I wanted to have this as two exe
files, launching the second b
A program created by cx_Freeze
isn't a single exe file. It's the entire folder created under the build folder. If you just copy the exe file, you are only copying part of the program.
Instead of trying to have two exe files in the same folder, what you should do is have two folders, each being a complete cx_Freeze
program. Your subprocess call should be calling ../program2/program2.exe
instead of just ./program2.exe
.
It is possible to include two exe in one build with the following method:
import sys
from cx_Freeze import setup, Executable
options = {
'build_exe': {'path': sys.path + ['modules']}
}
executables = [
Executable('script_1.py'),
Executable('script_2.py')]
setup(
name='two exe in one folder',
version='0.1',
description='Two exe in a single build folder',
options=options,
executables=executables)
You will probably have to edit this script further but it should produce two exe in the same build folder.
An example can be found if you go to your python location (where python.exe is) and navigate to the Lib\site-packages\cx_Freeze\samples\advanced location where you should find a script called setup.py, take a look at it, your answer should be there.
The exe in Cx_Freeze have dependencies. By copying the exe you are only copying part of the program.