Add support for upgrading Python in tool environments (#7605)
This PR adds support for upgrading the build environment of tools with the addition of a ```--python``` argument to ```uv upgrade```, as specified in #7471. Some things to note: - I added support for individual packages — I didn't think there was a good reason for ```--python``` to only apply to all packages - Upgrading with ```--python``` also upgrades the package itself — I think this is fair as if a user wants to _strictly_ switch the version of Python being used to build a tool's environment they can use ```uv install```. This behavior can of course be modified if others don't agree! Closes https://github.com/astral-sh/uv/issues/6297. Closes https://github.com/astral-sh/uv/issues/7471.
This commit is contained in:
@@ -3248,6 +3248,11 @@ uv tool upgrade [OPTIONS] <NAME>...
|
||||
|
||||
<p>This setting has no effect when used in the <code>uv pip</code> interface.</p>
|
||||
|
||||
</dd><dt><code>--python</code>, <code>-p</code> <i>python</i></dt><dd><p>Upgrade a tool, and specify it to use the given Python interpreter to build its environment. Use with <code>--all</code> to apply to all tools.</p>
|
||||
|
||||
<p>See <a href="#uv-python">uv python</a> for details on Python discovery and supported request formats.</p>
|
||||
|
||||
<p>May also be set with the <code>UV_PYTHON</code> environment variable.</p>
|
||||
</dd><dt><code>--python-preference</code> <i>python-preference</i></dt><dd><p>Whether to prefer uv-managed or system Python installations.</p>
|
||||
|
||||
<p>By default, uv prefers using Python versions it manages. However, it will use system Python installations if a uv-managed Python is not installed. This option allows prioritizing or ignoring system Python installations.</p>
|
||||
|
||||
Reference in New Issue
Block a user