Ogi Moore
December 28, 2019
github.com/j9ac9k
How can we distribute our python GUI applications to a widespread audience…
my own definitions, and I am not an authority on this matter…
“library” is meant to be used by other developers
“application” is meant to be used by end-users
pip install <library>
Qt (pronunced “cute”, not “cue-tea”)
qtpy library


but it’s tricky…
fbs startproject command to create a bare minimum example that you can modify for your projectPyQt5/PySide2 applicationbase.json to define project parametersrequirements/base.txtto define dependencies
in my CI process I just run
cp requirements.txt requirements/base.txtfbs freeze - Converts your python package into a stand-alone executable (via pyinstaller)fbs installer - Bundles your executable into a single file installer
NSIS)create-dmg)
create-dmg is bundled with fbsfpm)fpm to make the .deb packagespypiwin32, Windows10 SDK, Visual C++ redistributables and NSISnumpy.random.common# Linux
target/App/App & sleep 10 ; kill $!
# macOS
(target/App.app/Contents/MacOS/App) & sleep 10 ; kill $!
# Windows
start target\App\App.exe & waitfor timeVoid /t 10 2>NUL & taskkill /im App.exe /f

fbs can bundle your GUI application into an installable package by leveraging pyinstaller and other dependencies