Fix incorrect venv invalidation for pre-release Python versions (#13234)

I think this regressed in https://github.com/astral-sh/uv/pull/13027 — I
misunderstood what versions could be represented in the `pyvenv.cfg` (I
assumed they _never_ included pre-release components).

Closes #13233
This commit is contained in:
Zanie Blue 2025-04-30 10:55:22 -05:00 committed by GitHub
parent 9558a86e65
commit 3a87b6374a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -366,11 +366,13 @@ impl PythonEnvironment {
let cfg = self.cfg().ok()?;
let cfg_version = cfg.version?.into_version();
// Determine if we should be checking for patch-level equality
// Determine if we should be checking for patch or pre-release equality
let exe_version = if cfg_version.release().get(2).is_none() {
self.interpreter().python_minor_version()
} else {
} else if cfg_version.pre().is_none() {
self.interpreter().python_patch_version()
} else {
self.interpreter().python_version().clone()
};
(cfg_version != exe_version).then_some((cfg_version, exe_version))