From fc6c08aff3859eb4caced36834d6652d8cd24517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=B8=D0=B8=D0=BB=20=D0=93=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=B0=D1=80=D1=8C?= Date: Fri, 22 May 2026 19:27:55 +0300 Subject: [PATCH] fix: prioritize system directories in PATH for ament_cmake to use system Python --- cobot/commands/local_setup.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cobot/commands/local_setup.py b/cobot/commands/local_setup.py index 3e8c92b..3c5e726 100644 --- a/cobot/commands/local_setup.py +++ b/cobot/commands/local_setup.py @@ -93,6 +93,16 @@ def _ros2_env() -> dict: if "=" in line: k, _, v = line.partition("=") env[k] = v + + # Put system dirs first so ament_cmake picks up system Python (where catkin_pkg + # lives) instead of a user-local Python installed by uv or pyenv. + # Ставим системные пути первыми, чтобы ament_cmake использовал системный Python + # (где установлен catkin_pkg), а не пользовательский Python от uv или pyenv. + _SYSTEM_PATHS = ["/usr/bin", "/usr/local/bin"] + existing = env.get("PATH", "").split(":") + env["PATH"] = ":".join( + _SYSTEM_PATHS + [p for p in existing if p not in _SYSTEM_PATHS] + ) return env