mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-04 19:08:04 +00:00
Improve interactions with existing Python executables during install (#8733)
Previously, we'd use the `--reinstall` flag to determine if we should replace existing Python executables in the bin directory during an install. There are a few problems with this: - We replace executables we don't manage - We can replace executables from other uv Python installations during reinstall (surprising) - We don't do the "right" thing when installing patch versions e.g. installing `3.12.4` then `3.12.6` would fail without the reinstall flag In `uv tool`, we have separate `--force` and `--reinstall` concepts. Here we separate the flags (`--force` was previously just a `--reinstall` alias) and add inspection of the existing executables to inform a decision on replacement. In brief, we will: - Replace any executables with `--force` - Replace executables for the same installation with `--reinstall` - Replace executables for an older patch version by default
This commit is contained in:
parent
6a6b9af466
commit
fb1d679f69
10 changed files with 354 additions and 38 deletions
|
@ -4384,6 +4384,12 @@ uv python install [OPTIONS] [TARGETS]...
|
|||
|
||||
<p>See <code>--project</code> to only change the project root directory.</p>
|
||||
|
||||
</dd><dt><code>--force</code>, <code>-f</code></dt><dd><p>Replace existing Python executables during installation.</p>
|
||||
|
||||
<p>By default, uv will refuse to replace executables that it does not manage.</p>
|
||||
|
||||
<p>Implies <code>--reinstall</code>.</p>
|
||||
|
||||
</dd><dt><code>--help</code>, <code>-h</code></dt><dd><p>Display the concise help for this command</p>
|
||||
|
||||
</dd><dt><code>--native-tls</code></dt><dd><p>Whether to load TLS certificates from the platform’s native certificate store.</p>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue