fix: prioritize system directories in PATH for ament_cmake to use system Python

This commit is contained in:
Даниил Грабарь
2026-05-22 19:27:55 +03:00
parent c57e94dcc4
commit fc6c08aff3
+10
View File
@@ -93,6 +93,16 @@ def _ros2_env() -> dict:
if "=" in line: if "=" in line:
k, _, v = line.partition("=") k, _, v = line.partition("=")
env[k] = v 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 return env