In the book
Basic concepts and first steps
Starting from the very basics of packaging a Python application with examples in PyQt6, Tkinter, wxPython, PySimpleGUI and Kivy. Learn how to customize your application name and add Window icons.
Learn how to Bundle data files
Include data files with your app, from icons to anything else. Learn how to work with relative paths and ensure your apps work on all platforms.
Package 3rd party modules
Learn how to customize packaging for your apps requirements. Including popular 3rd party modules.
Learn how to troubleshoot builds with includes and excludes.
Build native installers on Windows, macOS and Linux
Create platform-native installers on Windows, macOS and Linux, including InstallForge EXE setup, macOS Disk Images and Linux deb packaging.
Includes scriptable examples for Linux and macOS to automate your builds.
Every chapter comes with complete, runnable code examples.
Table of Contents
- Getting Started with PyInstaller p2-20
- What is PyInstaller?
- Installing PyInstaller
- Packaging My first app
- Tweaking your build p21-85
- Naming your application
- Application Icons
- Working with Relative paths
- Data files & Resources
- Bundling data folders
- Hidden imports, Excludes & Binaries
- Building Installers p86-113
- Creating Windows Installers (InstallForge)
- Creating macOS Disk Images
- Creating Linux Packages with fpm
- Signing Executables p114-119
- Signing Windows Executables (signtool)
- Signing macOS Application Bundles
- Advanced Packaging p120-150
- Better Relative Paths
- Detecting the Current Platform
- Working with command-line arguments
- Optimizing Packages
- PyInstaller Hooks
- Troubleshooting p151-162
- Build doesn't complete
- Built application doesn't run
Includes working examples in PyQt6, PySide2, PySide6, PyQt5, Tkinter, PySimpleGUI, wxPython and Kivy
Frequently Asked Questions
How will I get my purchase?
After completing your purchase you'll receive an email with a link to get your files and course. Keep it secret, keep it safe.
How do I get updates?
You'll receive an email when new content is available, although you can opt out of this if you wish.
What if I don't like it?
If you decide that it is not for you, just reply to the purchase receipt email within 30 days and I'll issue you with a refund. If you could tell me why, that would be great too but it's not necessary.
I have other questions
If you still have questions just drop me an email