make the error message clearer when running distroless containers (#13549)

Previously you could get a confusing error message like this:

```
$ docker run ghcr.io/astral-sh/uv run python
error: Could not read ELF interpreter from any of the following paths: /bin/sh, /usr/bin/env, /bin/dash, /bin/ls
```

Now the error message is better:

```
error: Failed to discover managed Python installations
  Caused by: Failed to determine the libc used on the current platform
  Caused by: Failed to find any common binaries to determine libc from: /bin/sh, /usr/bin/env, /bin/dash, /bin/ls
```

See https://github.com/astral-sh/uv/issues/8635.

---------

Co-authored-by: konsti <konstin@mailbox.org>
Co-authored-by: Zanie Blue <contact@zanie.dev>
This commit is contained in:
Jack O'Connor
2025-05-29 10:29:01 -07:00
committed by GitHub
parent 72e2821d26
commit 08f2fa48ff
4 changed files with 22 additions and 7 deletions
+3 -2
View File
@@ -222,8 +222,9 @@ pub enum Error {
PythonSource,
),
/// An error was encountered when interacting with a managed Python installation.
#[error(transparent)]
/// An error was encountered while trying to find a managed Python installation matching the
/// current platform.
#[error("Failed to discover managed Python installations")]
ManagedPython(#[from] crate::managed::Error),
/// An error was encountered when inspecting a virtual environment.