diff --git a/build-dist-windows.sh b/build-dist-windows.sh index 29af016..9ac86a5 100644 --- a/build-dist-windows.sh +++ b/build-dist-windows.sh @@ -73,11 +73,16 @@ if [ -z "$PTH_FILE" ]; then exit 1 fi -# Uncomment 'import site' and add Lib\site-packages +# Uncomment 'import site', add Lib\site-packages and app source path sed -i 's/^#\s*import site/import site/' "$PTH_FILE" if ! grep -q 'Lib\\site-packages' "$PTH_FILE"; then echo 'Lib\site-packages' >> "$PTH_FILE" fi +# Embedded Python ._pth overrides PYTHONPATH, so we must add the app +# source directory here for wled_controller to be importable +if ! grep -q '\.\./app/src' "$PTH_FILE"; then + echo '../app/src' >> "$PTH_FILE" +fi echo " Patched $(basename "$PTH_FILE")" # ── Download pip and install into embedded Python ──────────── diff --git a/build-dist.ps1 b/build-dist.ps1 index 65c40d6..883f95e 100644 --- a/build-dist.ps1 +++ b/build-dist.ps1 @@ -106,6 +106,11 @@ $pthContent = $pthContent -replace '#\s*import site', 'import site' if ($pthContent -notmatch 'Lib\\site-packages') { $pthContent = $pthContent.TrimEnd() + "`nLib\site-packages`n" } +# Embedded Python ._pth overrides PYTHONPATH, so add the app source path +# directly for wled_controller to be importable +if ($pthContent -notmatch '\.\.[/\\]app[/\\]src') { + $pthContent = $pthContent.TrimEnd() + "`n..\app\src`n" +} Set-Content -Path $pthFile.FullName -Value $pthContent -NoNewline Write-Host " Patched $($pthFile.Name)"