cxfreeze script

The cxfreeze script is included with other Python scripts. On Windows and the Mac this is in the Scripts subdirectory of your Python installation whereas on Unix platforms this in the bin directory of the prefix where Python is installed.

Assuming you have a script called hello.py which you want to turn into an executable, this can be accomplished by this command:

cxfreeze -c hello.py --target-dir dist

Further customization can be done using the following options:

--version

show version number and exit

-h, --help

show this help message and exit

-O

optimize generated bytecode as per PYTHONOPTIMIZE; use -OO in order to remove doc strings

-c, --compress

compress byte code in zip files

-s, --silent

suppress all output except warnings and errors

--base-name=NAME

file on which to base the target file; if the name of the file is not an absolute file name, the subdirectory bases (rooted in the directory in which the freezer is found) will be searched for a file matching the name

--init-script=NAME

script which will be executed upon startup; if the name of the file is not an absolute file name, the subdirectory initscripts (rooted in the directory in which the cx_Freeze package is found) will be searched for a file matching the name

--target-dir=DIR, --install-dir=DIR

The directory in which to place the target file and any dependent files

--target-name=NAME

the name of the file to create instead of the base name of the script and the extension of the base binary

--default-path=DIRS

list of paths separated by the standard path separator for the platform which will be used to initialize sys.path prior to running the module finder

--include-path=DIRS

list of paths separated by the standard path separator for the platform which will be used to modify sys.path prior to running the module finder

--replace-paths=DIRECTIVES

replace all the paths in modules found in the given paths with the given replacement string; multiple values are separated by the standard path separator and each value is of the form path=replacement_string; path can be * which means all paths not already specified

--includes=NAMES --include-modules=NAMES

comma separated list of modules to include

--excludes=NAMES --exclude-modules=NAMES

comma separated list of modules to exclude

--packages=NAMES

comma separated list of packages to include, which includes all submodules in the package

--include-files=FILES

comma separated list of paths to include

-z SPEC, --zip-include=SPEC

name of file to add to the zip file or a specification of the form name=arcname which will specify the archive name to use; multiple –zip-include arguments can be used

--zip-include-packages=NAMES

comma separated list of packages which should be included in the zip file; the default is for all packages to be placed in the file system, not the zip file; those packages which are known to work well inside a zip file can be included if desired; use * to specify that all packages should be included in the zip file

--zip-exclude-packages=NAMES

comma separated list of packages which should be excluded from the zip file and placed in the file system instead; the default is for all packages to be placed in the file system since a number of pa ckages assume that is where they are found and will fail when placed in a zip file; use * to specify that all packages should be placed in the file system and excluded from the zip file (the default)

--icon=ICON

name of icon which should be included in the executable itself on Windows or placed in the target directory for other platforms (ignored in Microsoft Store Python app)