Skip to content

Conversation

@zanieb
Copy link
Member

@zanieb zanieb commented Jul 30, 2025

In #14919 it was reported that uv's behavior differed after the first invocation. I noticed we weren't copying entrypoints after the first invocation. It turns out the shebangs were written with .../python but on a subsequent invocation the sys.executable was .../python3 so we didn't detect these as matching.

This is a pretty naive fix, but it seems much easier than ensuring the entry point path exactly matches the subsequent sys.executable we find.

I guess we should fix this in reverse too? but I think we might always prefer python3 when loading interpreters from environments.

See #14790 for more background.

@zanieb zanieb added the bug Something isn't working label Jul 30, 2025
@zanieb zanieb force-pushed the zb/strip-trailing-3 branch from 515dcc2 to 9bbe1a8 Compare July 30, 2025 13:25
@zanieb zanieb force-pushed the zb/strip-trailing-3 branch from 9bbe1a8 to 14048aa Compare July 30, 2025 13:26
@zanieb zanieb temporarily deployed to uv-test-registries July 30, 2025 13:30 — with GitHub Actions Inactive
@zanieb zanieb marked this pull request as ready for review July 30, 2025 13:38
Copy link
Member

@woodruffw woodruffw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks right to me!

To confirm my understanding, here's the old behavior:

# OK, rewritten correctly
# previous_executable: /some/random/python3
#!/some/random/python3

# BUG, not rewritten correctly
# previous_executable: /some/random/python3
#!/some/random/python

Whereas the new behavior would rewrite both of these to /some/new/python3, correct?

@zanieb
Copy link
Member Author

zanieb commented Jul 30, 2025

Yep! Thanks!

@zanieb zanieb merged commit 6303944 into main Jul 30, 2025
92 checks passed
@zanieb zanieb deleted the zb/strip-trailing-3 branch July 30, 2025 16:00
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Jul 31, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.8.3` -> `0.8.4` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>astral-sh/uv (astral-sh/uv)</summary>

### [`v0.8.4`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#084)

[Compare Source](astral-sh/uv@0.8.3...0.8.4)

##### Enhancements

- Improve styling of warning cause chains  ([#&#8203;14934](astral-sh/uv#14934))
- Extend wheel filtering to Android tags ([#&#8203;14977](astral-sh/uv#14977))
- Perform wheel lockfile filtering based on platform and OS intersection ([#&#8203;14976](astral-sh/uv#14976))
- Clarify messaging when a new resolution needs to be performed ([#&#8203;14938](astral-sh/uv#14938))

##### Preview features

- Add support for extending package's build dependencies with `extra-build-dependencies` ([#&#8203;14735](astral-sh/uv#14735))
- Split preview mode into separate feature flags ([#&#8203;14823](astral-sh/uv#14823))

##### Configuration

- Add support for package specific `exclude-newer` dates via `exclude-newer-package` ([#&#8203;14489](astral-sh/uv#14489))

##### Bug fixes

- Avoid invalidating lockfile when path or workspace dependencies define explicit indexes ([#&#8203;14876](astral-sh/uv#14876))
- Copy entrypoints that have a shebang that differs in `python` vs `python3` ([#&#8203;14970](astral-sh/uv#14970))
- Fix incorrect file permissions in wheel packages ([#&#8203;14930](astral-sh/uv#14930))
- Update validation for `environments` and `required-environments` in `uv.toml` ([#&#8203;14905](astral-sh/uv#14905))

##### Documentation

- Show `uv_build` in projects documentation ([#&#8203;14968](astral-sh/uv#14968))
- Add `UV_` prefix to installer environment variables ([#&#8203;14964](astral-sh/uv#14964))
- Un-hide `uv` from `--build-backend` options ([#&#8203;14939](astral-sh/uv#14939))
- Update documentation for preview flags ([#&#8203;14902](astral-sh/uv#14902))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS40NS4wIiwidXBkYXRlZEluVmVyIjoiNDEuNDUuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants