A lightweight GUI frontend for PyInstaller — configure, preview, and build without touching the CLI.
Quick Start | Features | Usage | License | Contributors
Note
Requirements:
- Python 3.x (when running from source)
- PyInstaller installed in the target Python environment
- Direct Download (Recommended): Go to Releases, download the latest version, and run the executable directly — no installation needed.
- Run from Source:
git clone https://github.com/294Ryan/PyinstallerGUI.git cd PyinstallerGUI python tk_pyinstaller_gui.py
Tip
PyInstaller must be available in whichever Python environment you intend to build with:
pip install pyinstaller
- Visual build configuration — Set script, output name, output directory, icon, and Python interpreter through a point-and-click interface; no CLI flags to memorize.
- Real-time command preview — The generated
pyinstallercommand updates live as you adjust settings, and can be copied to clipboard with one click. - Data Files tab — Add individual files or entire directories as bundled resources, with automatic
src → destpath management. - Imports / Excludes tab — Manage
--hidden-importand--exclude-modulelists via an inline list editor. - Advanced tab — Inject arbitrary raw PyInstaller flags for edge cases.
.specimport / export — Load an existing.specfile to populate all fields, or export the current configuration as a.spec.- Organized output — Build artifacts are automatically moved into a dedicated
<name>_Output/folder; optional post-build cleanup deletesbuild/and.spec. - Cross-platform — Runs on Windows, macOS, and Linux.
Select the target .py script, output name, output directory, .ico icon, and Python interpreter (default system Python or a custom path). Choose between --onefile / --onedir and --console / --windowed.
Selecting a script auto-fills Output Name and Output Dir if left empty.
Add files or directories to bundle. Specify source and destination paths; entries are listed in src --> dest format and can be removed individually.
Manage Hidden Imports and Exclude Modules lists. Entries reflect immediately in the command preview.
Enter raw PyInstaller flags (space-separated) for options not covered by the UI — e.g. --clean --noupx.
Displays the full pyinstaller command assembled from your current settings. Use Copy to grab it for manual use.
Click ▸ Build to start. Output is streamed to the log panel in real time. On success, artifacts are moved to <Output Dir>/<name>_Output/. Optionally auto-delete build/ and .spec after a successful build.
- Import .spec — Parses an existing
.specfile and populates all fields. - Export .spec — Writes the current configuration as a
.specfile.
PyinstallerGUI/
├── images/
│ ├── Banner.png
│ └── tk_app.png
├── .gitignore
├── icon.ico
├── LICENSE
├── README.md
├── tk_pyinstaller_gui.py # Single-file application entry point
└── tk_pyinstaller_gui.spec # .spec file
License: GPL-3.0
Warning
Please use the contents of this project within the scope permitted by the license. Users are solely responsible for any consequences resulting from improper or negligent use.