I use PyInstaller to distribute a Qt5-based GUI app, and some associated CLI tools. It's fairly easy to configure, and works out fine.
It's certainly not fast to start, but in my case, it's not a quick one-and-done type thing, so I don't mind too much