I need help packaging my wx python app

Good day everyone,

After a long while, I have finally finished my application. Right now I just need some help and direction where the packaging is concerned. This is what I want to accomplish.

  1. I need a python package installer that will allow me to install 2 exe files, a folder that will contain all the audio for my app, and a read me text file for the app into the program files in a folder called “TQ”.
  2. to accomplish #1 above do i need to add any special code to my app? And do i need to write any special code that will allow my app to modify the alarms folder within the TQ folder?

Your help is really appreciated. I am excited as this is my first app.

I believe you asked a similar question a month or so ago (How do I create an installer for my completed wx python app). I would repeat my reply there and recommend using Anaconda’s constructor utility. One reason for this is the conda_forge maintains wxPython packages for Windows, MacOS, and Linux, including for Python 3.10.

A second reason is that conda constructor gives you fine-grained control over what dependencies are installed, and is pretty easy to work with. It also generates system-native installer packages for you, which install a full Python environment on the target computer - it is not generating single-file executables, so there isn’t any need to check for differences in “normal python vs compiled app”. This approach also means that you can use normal Python entry points in your own package to create as many “executable programs” that you want.

Finally, conda constructor supports a “post install” step (bash on MacOS/Linux, batch file on Windows) in which you can run any post-installation steps you want. That could install large data files (if you don’t want those in package_data) or documentation, or do things like set up StartMenu/Desktop Icons to launch your app(s).

I’ve had success with both PyInstaller and Briefcase.

PyInstaller Manual — PyInstaller

Briefcase — BeeWare

py2app works for me

https://py2app.readthedocs.io/en/latest/