There comes a point in any app's development where it needs to leave home — half the fun in writing software is being able to share it with other people. Packaging Python GUI apps can be a little tricky, but these guides will walk you through the process step by step.

If you're using Qt Designer you may want to take a look at the QResource system and how you can use it to package data files with your apps.

Explore Packaging & Distributing PyQt5 Applications

Packaging & Distributing PyQt5 Applications

Packaging PyQt5 applications into a macOS app with PyInstaller

Turn your PyQt5 application into a distributable macOS .app bundle

The QResource System in PyQt5

Using the QResource system to package additional data with your applications

Recommended way to install PyQt5 with fbs on macOS

Getting the right combination of Python, PyQt5, and PyInstaller for fbs on macOS

PyInstaller macOS issue with QCombobox not refreshing

Fixing widget redraw problems in PyQt5 apps packaged with PyInstaller on macOS

Solving Common PyInstaller Problems on macOS

How to fix file paths, reduce bundle sizes, and handle macOS-specific packaging issues

How to compile PyQt5 or PySide2 code with Nuitka

Convert your Python Qt applications to fast native executables using the Nuitka compiler

Using Icons from Qt Resources with PyInstaller

Understanding why PyInstaller needs a separate icon file, even when you're using a QRC resource file

Setting Window Icons in PyQt5 Apps Packaged with PyInstaller

How to bundle and display icons correctly in your packaged PyQt5 applications

Using command line arguments to open files with PyQt5 apps -- Windows file associations

Accept filenames from the command line and set up Windows "Open with" for your PyQt5 applications

How to Reference the App Context from a Window in fbs ApplicationContext

Passing the ApplicationContext to your MainWindow when using fbs for PyQt5 packaging

Fixing "No such file or directory" for .ui Files When Using fbs freeze

Why your .ui file works with fbs run but breaks after freezing, and how to fix it

Using Qt Designer .ui Files with fbs for PyQt5 Packaging

Load your Qt Designer interfaces directly in fbs-based applications without converting to Python

Packaging PyQt5 applications for Windows with PyInstaller & InstallForge

Turn your PyQt5 application into a distributable installer for Windows

Packaging PyQt5 applications for Linux with PyInstaller & fpm

Turn your PyQt5 application into installable Linux packages

Packaging PyQt5 apps with fbs

Distribute cross-platform GUI applications with the fman Build System