Py2EXE puts PyInstaller behind a dark desktop window. Point it at a script or a whole project, set a few switches and press Build. It writes the python -m PyInstaller command for you and shows it before it runs.
Build modes
- Single file: one
.pyin, one executable out. - Project: a project root and an entry script; the extra import paths are wired in for you.
- One-dir bundle: an unpacked folder instead of a single binary.
What it handles
- Walks up from the script to find the project root (
pyproject.toml,requirements.txt,.git). - A static scan flags hidden imports that are commonly missed, for packages such as pandas, matplotlib, cv2 and sqlalchemy, and anything loaded through
importlib. - Finds data files under the project and offers to bundle them.
- App name, version and company strings, a Windows manifest, UAC elevation, UPX, clean rebuilds and a hidden console, each one switch.
- A batch queue builds many scripts back to back with shared options.
- An Environment tab shows PyInstaller and UPX status, the interpreter in use and the installed packages.
The whole tool is one py2exe.py, run as it is.