From faf2a4e6ff7764f4f257bb32aeb2764f696ef000 Mon Sep 17 00:00:00 2001 From: Leonardo Pinheiro Date: Sun, 6 Apr 2025 12:41:06 +1000 Subject: [PATCH] chore: Add powershell path check for code executor (#6212) --- .../src/autogen_ext/code_executors/_common.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/python/packages/autogen-ext/src/autogen_ext/code_executors/_common.py b/python/packages/autogen-ext/src/autogen_ext/code_executors/_common.py index 4b1259ef0..b02654e41 100644 --- a/python/packages/autogen-ext/src/autogen_ext/code_executors/_common.py +++ b/python/packages/autogen-ext/src/autogen_ext/code_executors/_common.py @@ -1,5 +1,6 @@ import inspect import re +import shutil from dataclasses import dataclass from pathlib import Path from textwrap import dedent, indent @@ -159,7 +160,13 @@ def lang_to_cmd(lang: str) -> str: if lang in ["shell"]: return "sh" if lang in ["pwsh", "powershell", "ps1"]: - return "pwsh" + # Check if pwsh is available, otherwise fall back to powershell + if shutil.which("pwsh") is not None: + return "pwsh" + elif shutil.which("powershell") is not None: + return "powershell" + else: + raise ValueError(f"Powershell or pwsh is not installed. Please install one of them.") else: raise ValueError(f"Unsupported language: {lang}")