mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-04 19:08:04 +00:00

## Summary Closes https://github.com/astral-sh/uv/issues/2956 This changes the bootstrap launcher script to use `pythonw.exe` instead of `python.exe` on `gui_scripts` via a helper fn both in the shebang and the python exe path encoded before `UVUV` magic, that way uv-trampoline's `find_python_exe` can use the right pythonw executable. ## Test Plan New unit tests for the helper was added. Tested on example from #2956 on Windows to make sure it works as expected. ## Questions I noticed the docs in `fn windows_script_launcher` says ```The launcher will look for `python[w].exe` adjacent to it in the same directory to start the embedded script.``` but I didn't find such functionality when I looked in uv-trampoline. I only saw `clear_app_starting_state` getting called when `is_gui` is set. Was the intention to do this in uv-trampoline at some point instead? --------- Co-authored-by: konstin <konstin@mailbox.org>
55 lines
1.5 KiB
TOML
55 lines
1.5 KiB
TOML
[package]
|
|
name = "install-wheel-rs"
|
|
version = "0.0.1"
|
|
publish = false
|
|
description = "Takes a wheel and installs it, either in a venv or for monotrail"
|
|
keywords = ["wheel", "python"]
|
|
|
|
edition = { workspace = true }
|
|
rust-version = { workspace = true }
|
|
homepage = { workspace = true }
|
|
documentation = { workspace = true }
|
|
repository = { workspace = true }
|
|
authors = { workspace = true }
|
|
license = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
name = "install_wheel_rs"
|
|
|
|
[dependencies]
|
|
distribution-filename = { workspace = true }
|
|
pep440_rs = { workspace = true }
|
|
platform-tags = { workspace = true }
|
|
uv-normalize = { workspace = true }
|
|
uv-fs = { workspace = true }
|
|
pypi-types = { workspace = true }
|
|
|
|
clap = { workspace = true, optional = true, features = ["derive"] }
|
|
configparser = { workspace = true }
|
|
csv = { workspace = true }
|
|
data-encoding = { workspace = true }
|
|
fs-err = { workspace = true }
|
|
mailparse = { workspace = true }
|
|
once_cell = { workspace = true }
|
|
pathdiff = { workspace = true }
|
|
platform-info = { workspace = true }
|
|
reflink-copy = { workspace = true }
|
|
regex = { workspace = true }
|
|
rustc-hash = { workspace = true }
|
|
schemars = { workspace = true, optional = true }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tracing = { workspace = true }
|
|
walkdir = { workspace = true }
|
|
zip = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
anyhow = { version = "1.0.80" }
|
|
assert_fs = { version = "1.1.1" }
|
|
indoc = { version = "2.0.4" }
|