I’m looking at the possibility of moving the distribution of WebControl entirely (i.e., no docker or webmcp) to an executable created via PyInstaller. It’s what I’m using for Windows and it seems to work pretty well, but I noticed an issue with it on the Raspberry Pi.
Pyinstaller has two options, create a single file where all data is packaged together and extracted to a temporary directory and then run, and a single directory where an executable and all the needed files are located (which is then zipped up into a compressed file that the user then extracts). The single file is more ‘portable’ in that you can place it anywhere on your PC and run it, the downside is that it has to do the extraction everytime its run. For a Windows 10 PC, this didn’t seem to be too long (5-10 seconds) but on the Raspberry PI, its taking me nearly 60 seconds.
I’m leaning to the single directory model for the RPI to eliminate the wait and re-extractions to the SD card… but not sure about the Windows 10 or linux (because people may use slow linux boxes). I can have different builds for different OS. Hence the poll…
- Single-directory for RPI and single-file for everything else.
- Single-directory for RPI and Linux and single-file for everything else.
- Single-file for everything
- Single-directory for everything
What’s not an option at this time is something like packaging it up for apt-gets or pip installs, or docker for everything, or both single-file and single-directory for everything… for various reasons.