While source and wheel distributions are useful, they both require Python and any necessary library dependencies to be installed on a system before the program can be run. Often, it would be much handier if we could provide a file or set of files that can simply be copied and run on a system without installing anything else first. Better yet, we'd like to have platform-specific installation packages that set up shortcuts and other data.
There are several ways to go about this with Python code, and several projects to choose from; we're going to look at one called cx_Freeze.
The basic idea of cx_Freeze is to bundle up all the code and shared library files for a Python project along with a Python interpreter, and then generate a small executable file that will launch the code with the bundled interpreter. This approach works fairly well most of the time...