
<!-- Thank you for contributing to uv! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? - Does this pull request include references to any relevant issues? --> ## Summary The PowerShell prompt is not `$`, so it is not detected as a `Generic.Prompt` token by Pygments lexers. Therefore, the JavaScript code does not strip the prompt when copying from PowerShell code blocks, such as [here](https://docs.astral.sh/uv/getting-started/installation/#__tabbed_5_2). Other places in the docs have removed the prompt completely to address this issue: * https://docs.astral.sh/uv/guides/projects/#__tabbed_1_2 * https://docs.astral.sh/uv/guides/integration/jupyter/#__tabbed_1_2 This PR updates the PowerShell prompt to `PS>` and changes the code fence language to `pwsh-session` to match the lexer name from [Pygments](https://pygments.org/docs/lexers/#pygments.lexers.shell.PowerShellSessionLexer). This allows the prompt to be correctly detected as a `Generic.Prompt` token and is stripped during copy. Related: https://github.com/astral-sh/uv/pull/12520
1.7 KiB
Configuring the uv installer
Changing the install path
By default, uv is installed to ~/.local/bin
. If XDG_BIN_HOME
is set, it will be used instead.
Similarly, if XDG_DATA_HOME
is set, the target directory will be inferred as
XDG_DATA_HOME/../bin
.
To change the installation path, use UV_INSTALL_DIR
:
=== "macOS and Linux"
```console
$ curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR="/custom/path" sh
```
=== "Windows"
```pwsh-session
PS> powershell -ExecutionPolicy ByPass -c {$env:UV_INSTALL_DIR = "C:\Custom\Path";irm https://astral.sh/uv/install.ps1 | iex}
```
Disabling shell modifications
The installer may also update your shell profiles to ensure the uv binary is on your PATH
. To
disable this behavior, use INSTALLER_NO_MODIFY_PATH
. For example:
$ curl -LsSf https://astral.sh/uv/install.sh | env INSTALLER_NO_MODIFY_PATH=1 sh
If installed with INSTALLER_NO_MODIFY_PATH
, subsequent operations, like uv self update
, will not
modify your shell profiles.
Unmanaged installations
In ephemeral environments like CI, use UV_UNMANAGED_INSTALL
to install uv to a specific path while
preventing the installer from modifying shell profiles or environment variables:
$ curl -LsSf https://astral.sh/uv/install.sh | env UV_UNMANAGED_INSTALL="/custom/path" sh
The use of UV_UNMANAGED_INSTALL
will also disable self-updates (via uv self update
).
Passing options to the install script
Using environment variables is recommended because they are consistent across platforms. However, options can be passed directly to the install script. For example, to see the available options:
$ curl -LsSf https://astral.sh/uv/install.sh | sh -s -- --help