From 6ed92d080f3b3cd567f33018e8bd95ae9565db82 Mon Sep 17 00:00:00 2001 From: anti Date: Tue, 7 Apr 2026 15:39:32 -0400 Subject: [PATCH] fix: invoke uvicorn via sys.executable to handle sudo PATH restrictions --- decnet/cli.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/decnet/cli.py b/decnet/cli.py index b273b39..538cba3 100644 --- a/decnet/cli.py +++ b/decnet/cli.py @@ -351,19 +351,20 @@ def deploy( if api and not dry_run: import subprocess + import sys console.print(f"[green]Starting DECNET API on port {api_port}...[/]") env = os.environ.copy() env["DECNET_INGEST_LOG_FILE"] = effective_log_file try: subprocess.Popen( - ["uvicorn", "decnet.web.api:app", "--host", "0.0.0.0", "--port", str(api_port)], + [sys.executable, "-m", "uvicorn", "decnet.web.api:app", "--host", "0.0.0.0", "--port", str(api_port)], env=env, stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT ) console.print(f"[dim]API running at http://0.0.0.0:{api_port}[/]") - except FileNotFoundError: - console.print("[red]Failed to start API: 'uvicorn' not found. Is it installed?[/]") + except (FileNotFoundError, subprocess.SubprocessError): + console.print("[red]Failed to start API. Ensure 'uvicorn' is installed in the current environment.[/]") @app.command()