summaryrefslogtreecommitdiffstats
path: root/tests/smoke_client.py
diff options
context:
space:
mode:
authorblasty <peter@haxx.in>2026-07-24 01:47:05 +0200
committerblasty <peter@haxx.in>2026-07-24 01:47:05 +0200
commit302dcb66794822d26cc0b1c9e490290114deeb1c (patch)
tree3d26a1f939fdb4614d6d1856c9a5fb04b8f7e4f1 /tests/smoke_client.py
parentworker: surface the real startup failure (not just "code 1") (diff)
downloadida-tui-302dcb66794822d26cc0b1c9e490290114deeb1c.tar.gz
ida-tui-302dcb66794822d26cc0b1c9e490290114deeb1c.tar.xz
ida-tui-302dcb66794822d26cc0b1c9e490290114deeb1c.zip
worker: spawn under the IDA python (has ida_pro_mcp), not the TUI's
Root cause of "ModuleNotFoundError: No module named 'ida_pro_mcp'": the worker was spawned with sys.executable — the TUI's python (~/ida-venv) which has idalib + textual but NOT ida_pro_mcp. The package split on this box: /usr/bin/python : idapro + ida_pro_mcp (the "IDA python") ~/ida-venv/python : idapro + textual (the "TUI python", runs the app) Fix: WorkerClient now auto-detects a python that can import ida_pro_mcp (IDATUI_WORKER_PYTHON override, else /usr/bin/python[3], else sys.executable) and runs worker.py as a SCRIPT rather than `-m idatui.worker`, so it doesn't import the textual-dependent idatui package __init__ under a python that has no textual. worker.py itself is pure stdlib at load; idapro/ida_pro_mcp are imported at runtime (both present in the IDA python). Verified: detection returns /usr/bin/python; worker.py loads clean there.
Diffstat (limited to 'tests/smoke_client.py')
0 files changed, 0 insertions, 0 deletions