@@ -161,20 +161,7 @@ def propose_interpreters( # noqa: C901, PLR0912, PLR0915
161161 tested_exes .add (exe_id )
162162 yield interpreter , True
163163
164- # 4. otherwise try uv-managed python (~/.local/share/uv/python or platform equivalent)
165- if uv_python_dir := os .getenv ("UV_PYTHON_INSTALL_DIR" ):
166- uv_python_path = Path (uv_python_dir ).expanduser ()
167- elif xdg_data_home := os .getenv ("XDG_DATA_HOME" ):
168- uv_python_path = Path (xdg_data_home ).expanduser () / "uv" / "python"
169- else :
170- uv_python_path = user_data_path ("uv" ) / "python"
171-
172- for exe_path in uv_python_path .glob ("*/bin/python" ):
173- interpreter = PathPythonInfo .from_exe (str (exe_path ), app_data , raise_on_error = False , env = env )
174- if interpreter is not None :
175- yield interpreter , True
176-
177- # finally just find on path, the path order matters (as the candidates are less easy to control by end user)
164+ # try to find on path, the path order matters (as the candidates are less easy to control by end user)
178165 find_candidates = path_exe_finder (spec )
179166 for pos , path in enumerate (get_paths (env )):
180167 LOGGER .debug (LazyPathDump (pos , path , env ))
@@ -188,6 +175,19 @@ def propose_interpreters( # noqa: C901, PLR0912, PLR0915
188175 if interpreter is not None :
189176 yield interpreter , impl_must_match
190177
178+ # otherwise try uv-managed python (~/.local/share/uv/python or platform equivalent)
179+ if uv_python_dir := os .getenv ("UV_PYTHON_INSTALL_DIR" ):
180+ uv_python_path = Path (uv_python_dir ).expanduser ()
181+ elif xdg_data_home := os .getenv ("XDG_DATA_HOME" ):
182+ uv_python_path = Path (xdg_data_home ).expanduser () / "uv" / "python"
183+ else :
184+ uv_python_path = user_data_path ("uv" ) / "python"
185+
186+ for exe_path in uv_python_path .glob ("*/bin/python" ):
187+ interpreter = PathPythonInfo .from_exe (str (exe_path ), app_data , raise_on_error = False , env = env )
188+ if interpreter is not None :
189+ yield interpreter , True
190+
191191
192192def get_paths (env : Mapping [str , str ]) -> Generator [Path , None , None ]:
193193 path = env .get ("PATH" , None )
0 commit comments