Packaging Python Applications with PyInstaller
The handy guide to distributing Python apps

1st Edition, June 2022
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
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