uv/crates/uv-python
konsti ceffd7ff80
Discover registry PEP 514 Pythons cross 32/64-bit (#11801)
Fixes #11217

By default, a 64-bit uv does not see a 32-bit global (HKLM) installation
of Python in the registry
(https://github.com/astral-sh/uv/issues/11217). To work around this, we
manually request both 32-bit and 64-bit access using registry access
flags (https://peps.python.org/pep-0514/#sample-code). The flags have no
effect on 32-bit (https://stackoverflow.com/a/12796797/3549270).

This effect is that there is an asymmetry between discovery modes: For
the registry-based discovery using PEP 514, we discover both 32-bit and
64-bit Pythons, while for managed installations, we are stricter and
only discover those matching in bit-ness.

I tested this manually with an additional 32-bit installation of CPython
on a 64-bit machine and windows with 32-bit and 64-bit (x86_64 and i686)
builds of uv.
2025-03-03 14:46:00 +00:00
..
python Catch broken mac_ver() (#11396) 2025-02-10 22:49:16 +01:00
src Discover registry PEP 514 Pythons cross 32/64-bit (#11801) 2025-03-03 14:46:00 +00:00
Cargo.toml Make interpreter caching robust to OS upgrades (#11875) 2025-03-02 01:36:38 +00:00
download-metadata.json Add pypy3.10-v7.3.19 to managed Python releases (#11814) 2025-03-02 22:48:35 +00:00
fetch-download-metadata.py Make fetching github releases faster (#11614) 2025-02-19 08:57:56 -06:00
template-download-metadata.py Update riscv64 Python downloads to allow install on riscv64gc (#10937) 2025-01-24 09:33:29 -06:00