mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-29 15:04:07 +00:00
Add support for managed installs of free-threaded Python (#8100)
Closes https://github.com/astral-sh/uv/issues/7193 ``` ❯ cargo run -q -- python uninstall 3.13t Searching for Python versions matching: Python 3.13t Uninstalled Python 3.13.0 in 231ms - cpython-3.13.0+freethreaded-macos-aarch64-none ❯ cargo run -q -- python install 3.13t Searching for Python versions matching: Python 3.13t Installed Python 3.13.0 in 3.54s + cpython-3.13.0+freethreaded-macos-aarch64-none ❯ cargo run -q -- python install 3.12t Searching for Python versions matching: Python 3.12t error: No download found for request: cpython-3.12t-macos-aarch64-none ❯ cargo run -q -- python install 3.13rc3t Searching for Python versions matching: Python 3.13rc3t Found existing installation for Python 3.13rc3t: cpython-3.13.0+freethreaded-macos-aarch64-none ❯ cargo run -q -- run -p 3.13t python -c "import sys; print(sys.base_prefix)" /Users/zb/.local/share/uv/python/cpython-3.13.0+freethreaded-macos-aarch64-none ```
This commit is contained in:
parent
db0f0aec09
commit
5f33915e03
12 changed files with 6319 additions and 4211 deletions
|
@ -26,7 +26,8 @@ use crate::implementation::LenientImplementationName;
|
|||
use crate::platform::{Arch, Libc, Os};
|
||||
use crate::pointer_size::PointerSize;
|
||||
use crate::{
|
||||
Prefix, PythonInstallationKey, PythonVersion, Target, VersionRequest, VirtualEnvironment,
|
||||
Prefix, PythonInstallationKey, PythonVariant, PythonVersion, Target, VersionRequest,
|
||||
VirtualEnvironment,
|
||||
};
|
||||
|
||||
/// A Python executable and its associated platform markers.
|
||||
|
@ -161,9 +162,18 @@ impl Interpreter {
|
|||
self.os(),
|
||||
self.arch(),
|
||||
self.libc(),
|
||||
self.variant(),
|
||||
)
|
||||
}
|
||||
|
||||
pub fn variant(&self) -> PythonVariant {
|
||||
if self.gil_disabled() {
|
||||
PythonVariant::Freethreaded
|
||||
} else {
|
||||
PythonVariant::default()
|
||||
}
|
||||
}
|
||||
|
||||
/// Return the [`Arch`] reported by the interpreter platform tags.
|
||||
pub fn arch(&self) -> Arch {
|
||||
Arch::from(&self.platform().arch())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue