A .py to .exe converter using a modern graphical interface and PyInstaller in Python.
PyInstaller is powerful but the command-line workflow gets repetitive. This tool wraps it in a clean interface with:
- Visual options instead of remembering flags
- Real-time build output with error highlighting
- Save/load build presets for different projects
- Plugin system for custom post-build tasks
- Dark and light themes
git clone https://github.com/AIMasterRace/PythonToEXE.git
cd PythonToEXE
pip install -r requirements.txt
python run.pyThat's it. The window opens, you're ready to build.
| Feature | Description |
|---|---|
| One-File / One-Dir | Choose between single exe or folder output |
| Console Toggle | Hide console window for GUI apps |
| Icon Support | Custom .ico file for your executable |
| Hidden Imports | Add modules PyInstaller misses |
| Exclude Modules | Remove unwanted modules (reduce size) |
| Data Files | Bundle assets, configs, etc. |
| Clean Build | Auto-cleanup previous build cache |
| Real-time Logs | Watch build progress live |
| Presets | Save and load build configurations |
| Themes | Dark and light mode |
| Plugins | Run custom tasks after build |
One File — Packs everything into a single .exe. Slower startup but easy to distribute.
One Directory — Creates a folder with .exe + dependencies. Faster startup.
Console Window — Keep checked for CLI apps. Uncheck for GUI apps (no black window).
Clean Build — Removes old build cache. Recommended to avoid stale file issues.
Exclude Modules — Comma-separated list. Example: tkinter, unittest, pydoc
| Key | Action |
|---|---|
F5 |
Start Build |
Ctrl+N |
New Project |
Ctrl+O |
Open Script |
Ctrl+S |
Save Preset |
Ctrl+L |
Load Preset |
Ctrl+T |
Toggle Theme |
Ctrl+Shift+C |
Clear Logs |
The tool supports plugins for post-build automation. Two examples included:
- Zip Output — Creates a
.ziparchive of the build - Clean Build Artifacts — Removes
.specandbuild/folder
Want to create your own? See the Plugin Guide →
PythonToEXE/
├── app/
│ ├── main.py # Entry point
│ ├── core/
│ │ ├── builder.py # PyInstaller wrapper
│ │ ├── config_manager.py # Settings persistence
│ │ ├── logger.py # Log system
│ │ ├── plugin_loader.py # Plugin loader
│ │ └── venv_manager.py # Virtualenv support
│ ├── utils/ # Helper modules
│ └── windows/ # UI components
├── plugins/ # Drop plugins here
├── imgs/ # Screenshots
├── requirements.txt
└── run.py
- Python 3.8 or higher
- PyQt5
- PyInstaller 6.0+
pip install -r requirements.txtSettings save automatically to:
~/.pyinstaller_builder/
├── config.json # App settings
└── presets/ # Saved build presets
- Multiple Python interpreter support
- PyInstaller version selector
- NSIS/Inno Setup full integration
- Spec file editor
- Dependency size analyzer
- Build queue for batch processing
Found a bug? Have an idea? Open an issue or submit a PR.
MIT License — use it, modify it, ship it.
Made with PyQt5 and PyInstaller



