Skip to content

install.sh fails silently when system Python is < 3.10 (error swallowed by Swift build warnings) #11

@OMauriStkOne

Description

@OMauriStkOne

Problem

On a fresh macOS install where the only python3 on PATH is the system Python (3.9.6 on macOS 14/15), install.sh exits with status 1 immediately after printing Setting up voice engine... with no obvious indication of what went wrong.

The installer does print a helpful message (install.sh:56-57):

Could not find Python ≥ 3.10. Install one (e.g. brew install python@3.13) or set STACKNUDGE_PYTHON=/path/to/python3 and re-run.

…but on macOS that message is buried under ~120 lines of NSUserNotification Swift deprecation warnings emitted during the build/stack-nudge.app step. Anyone scrolling the install output (or using tail) misses the actionable line entirely and just sees a non-zero exit.

Repro

  1. macOS with no Homebrew Python and no pyenv (only /usr/bin/python3 → 3.9.6).
  2. git clone and ./install.sh.
  3. Build succeeds, app bundles install, then exits 1 after Setting up voice engine....

Suggested fixes

  • Silence or filter the Swift deprecation warnings during build.sh (e.g. -suppress-warnings or redirect to a log) so install output stays scannable.
  • Make the "no Python ≥ 3.10" message louder — e.g. blank lines around it, a marker, or print it again at the very end before exit 1.
  • Optionally: detect Homebrew and offer to run brew install python@3.13 automatically (with a yes/no prompt).
  • Bonus: docs note in README install section that Python ≥ 3.10 is a prerequisite.

Environment

  • macOS Darwin 25.3.0
  • /usr/bin/python3 → Python 3.9.6
  • Homebrew 5.1.8 installed but no python@3.x formula
  • No pyenv

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions