feat: enforce Python 3.11+ version check during MCP setup

This commit is contained in:
Prakash Maheshwaran
2025-05-28 15:09:14 -07:00
parent 4554633046
commit fc028212be

View File

@@ -67,13 +67,22 @@ def get_windsurf_config_path(host_system: str) -> str:
def setup_mcp_config() -> str:
console.print(Panel("[bold yellow]Setting up MCP Python Environment[/bold yellow]", border_style="yellow"))
python_paths: list[tuple[str, str]] = []
for python_cmd in ["python", "python3.11", "python3.12", "python3.13"]:
# Only check for Python 3.11 and higher
for python_cmd in ["python3.11", "python3.12", "python3.13", "python3"]:
python_path = shutil.which(python_cmd)
if python_path:
python_paths.append((python_cmd, python_path))
# Verify the Python version is 3.11 or higher
try:
version_output = os.popen(f"{python_path} --version").read().strip()
version_str = version_output.split()[1] # Gets the version number part
major, minor = map(int, version_str.split('.')[:2])
if major == 3 and minor >= 11:
python_paths.append((python_cmd, python_path))
except (IndexError, ValueError):
continue
if not python_paths:
console.print("[red]Error: Could not find any Python installation. Please install Python 3.11 or higher first.[/red]")
console.print("[red]Error: Could not find any Python 3.11 or higher installation. Please install Python 3.11 or higher first.[/red]")
path_to_env = Prompt.ask(
"Enter the full path to your Python 3.11+ environment. For example in MacOS if you installed it using Homebrew, it would be [cyan]/opt/homebrew/bin/python3.11[/cyan] or [cyan]/opt/homebrew/bin/python3.12[/cyan]"
)