From 5a9258327b6ef4889906bc8286b3a0fbd0df5cd2 Mon Sep 17 00:00:00 2001 From: Matteo Vitali Date: Sat, 4 Feb 2023 14:23:13 +0100 Subject: [PATCH] Fix python module invocation (#2563) --- python/ruff/__main__.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/python/ruff/__main__.py b/python/ruff/__main__.py index 1c30d2b596..d07de17b53 100644 --- a/python/ruff/__main__.py +++ b/python/ruff/__main__.py @@ -3,6 +3,23 @@ import sys import sysconfig from pathlib import Path +RUFF_PATHS = [ + Path(sysconfig.get_config_var("userbase")) / "bin" / "ruff", + Path(sysconfig.get_path("scripts")) / "ruff", +] + + +def find_ruff_bin() -> Path: + """Return the ruff binary path.""" + for ruff_path in RUFF_PATHS: + if ruff_path.is_file(): + return ruff_path + raise FileNotFoundError(ruff_path) + + if __name__ == "__main__": - ruff = Path(sysconfig.get_path("scripts")) / "ruff" + try: + ruff = find_ruff_bin() + except FileNotFoundError as e: + raise FileNotFoundError(e) from e sys.exit(os.spawnv(os.P_WAIT, ruff, [ruff, *sys.argv[1:]]))