The portable Windows package bundles a Python embeddable distribution (not a venv). The entire python/ folder is copied into release/ProgressTracker/python/ and moves with the install — no Python install on target PCs.
- Open Python Windows downloads.
- Under Windows embeddable package (64-bit), download Python 3.11 or newer (e.g.
python-3.11.9-embed-amd64.zip). - Extract the zip to a folder that contains
python.exeat its root, e.g.C:\tools\python-3.11-embed-amd64\.
Use the embeddable zip, not the full installer. Match amd64 to your PHP build.
From the repository root:
.\scripts\build-portable.ps1 `
-PhpRoot "C:\tools\php-8.2-nts" `
-PythonRoot "C:\tools\python-3.11-embed-amd64" `
-ZipThe script copies that tree to python/, enables Lib\site-packages, bootstraps pip, and installs extractor/requirements-portable.txt.
ProgressTracker/python/
python.exe
python311.zip # from embed package
python311._pth # written by build (enables site-packages)
Lib/site-packages/ # xlwings, pandas, PyYAML, openpyxl
Laravel uses PYTHON_EXECUTABLE=python/python.exe (relative to install root) in the packaged .env.