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
librarybut 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.txt
to define dependencies
in my CI process I just run
cp requirements.txt requirements/base.txt
fbs 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 fbs
fpm
)fpm
to make the .deb packagespypiwin32
, Windows10 SDK, Visual C++ redistributables and NSIS
numpy.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