* fix: deduplicate lemonade ROCm prebuilt selection log resolve_lemonade_rocm_choice() is called twice per install (direct planner + resolve_upstream_asset_choice). The API fetch is already memoised via _fetch_lemonade_release_cached but the selection log lines were still emitted on both calls, printing the 'trying lemonade-sdk ROCm prebuilt' banner and hash-manifest NOTE twice. Add _lemonade_selection_logged set keyed on (gfx_target, asset_name) and guard the two log() calls behind a membership check so they print exactly once per process regardless of call count. Also extend the _clear_lemonade_release_cache test fixture to clear the new set between tests to prevent cross-test state bleed. Fixes #6020 * fix: write log() output to stdout to avoid PowerShell NativeCommandError On Windows, PowerShell treats any stderr output from a native process as an error record and prefixes it with 'python.exe :' and sets the ErrorId to NativeCommandError. Since log() wrote to sys.stderr, every [llama-prebuilt] status line triggered this, making normal progress output look like errors in the installer console. Switch log() to sys.stdout. The download progress bar (DownloadProgress) retains its stderr/tty logic unchanged -- that path is for interactive terminal rendering, not status logging. * fix: remove redundant 'or ""' in lemonade log_key host.rocm_gfx_target is already guaranteed truthy by the early return at the top of resolve_lemonade_rocm_choice. The fallback was dead code. * Keep resolver stdout machine-readable, route install logs to stdout log() sending everything to stdout breaks the resolver modes: setup.sh json.load()s the whole stdout, so one helper log line (network retry, release-tag scan) corrupts the parse and silently drops back to building "latest". Default log() to stderr and flip to stdout only on the install path, where PowerShell otherwise renders stderr as NativeCommandError noise. Also tighten the lemonade dedup comments. --------- Co-authored-by: Daniel Han <danielhanchen@gmail.com> |
||
|---|---|---|
| .. | ||
| backend | ||
| frontend | ||
| src-tauri | ||
| __init__.py | ||
| install_llama_prebuilt.py | ||
| install_python_stack.py | ||
| LICENSE.AGPL-3.0 | ||
| package-lock.json | ||
| package.json | ||
| setup.bat | ||
| setup.ps1 | ||
| setup.sh | ||
| Unsloth_Studio_Colab.ipynb | ||