diff options
| author | Jordan Wiens <github@psifertex.com> | 2026-04-23 17:05:37 -0400 |
|---|---|---|
| committer | Jordan Wiens <github@psifertex.com> | 2026-04-23 17:57:17 -0400 |
| commit | 0223aa63efc83eef3f8f7b4d59cead4a6344f6e0 (patch) | |
| tree | 175f582f01312fc58e0d168f9e2b95cb73357a9b /python/scriptingprovider.py | |
| parent | cfeb86db36ab9e3d85692bf47316f0ea07ba4d68 (diff) | |
output pip installation failures to the log, allow custom python stack traces in log window
Diffstat (limited to 'python/scriptingprovider.py')
| -rw-r--r-- | python/scriptingprovider.py | 9 |
1 files changed, 8 insertions, 1 deletions
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: |
