From 0223aa63efc83eef3f8f7b4d59cead4a6344f6e0 Mon Sep 17 00:00:00 2001 From: Jordan Wiens Date: Thu, 23 Apr 2026 17:05:37 -0400 Subject: output pip installation failures to the log, allow custom python stack traces in log window --- python/scriptingprovider.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'python/scriptingprovider.py') diff --git a/python/scriptingprovider.py b/python/scriptingprovider.py index a956f8e3..8a541422 100644 --- a/python/scriptingprovider.py +++ b/python/scriptingprovider.py @@ -1120,6 +1120,9 @@ class PythonScriptingProvider(ScriptingProvider): try: return (True, subprocess.check_output(args, startupinfo=si, stderr=subprocess.STDOUT, env=env).decode("utf-8")) + except subprocess.CalledProcessError as se: + output = se.output.decode("utf-8", errors="replace") if se.output else "" + return (False, f"{se}\n{output}" if output else str(se)) except subprocess.SubprocessError as se: return (False, str(se)) @@ -1277,9 +1280,13 @@ class PythonScriptingProvider(ScriptingProvider): logger.log_info(f"Running pip {args}") status, result = self._run_args(args, env=python_env) if status: + logger.log_debug(f"pip output: {result}") importlib.invalidate_caches() else: - logger.log_error(f"Error while attempting to install requirements {result}") + logger.log_error_with_traceback( + "Failed to install requirements. Click (Details...) for pip output.", + stack_trace=result, + ) return status def _module_installed(self, ctx, module: str) -> bool: -- cgit v1.3.1