-
Notifications
You must be signed in to change notification settings - Fork 739
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Trim injected
python_version
marker to (major, minor) (#2395)
## Summary Per [PEP 508](https://peps.python.org/pep-0508/), `python_version` is just major and minor: ![Screenshot 2024-03-12 at 5 15 09 PM](https://github.com/astral-sh/uv/assets/1309177/cc3b8d65-dab3-4229-aed7-c6fe590b8da0) Right now, we're using the provided version directly, so if it's, e.g., `-p 3.11.8`, we'll inject the wrong marker. This was causing `pandas` to omit `numpy` when `-p 3.11.8` was provided, since its markers look like: ``` Requires-Dist: numpy<2,>=1.22.4; python_version < "3.11" Requires-Dist: numpy<2,>=1.23.2; python_version == "3.11" Requires-Dist: numpy<2,>=1.26.0; python_version >= "3.12" ``` Closes #2392.
- Loading branch information
1 parent
00ec993
commit 3799862
Showing
6 changed files
with
118 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,31 @@ | ||
use pep440_rs::Version; | ||
use pep508_rs::MarkerEnvironment; | ||
use pep508_rs::{MarkerEnvironment, StringVersion}; | ||
use uv_interpreter::Interpreter; | ||
|
||
#[derive(Debug, Clone, Eq, PartialEq, Ord, PartialOrd)] | ||
#[derive(Debug, Clone, Eq, PartialEq)] | ||
pub struct PythonRequirement { | ||
/// The installed version of Python. | ||
installed: Version, | ||
installed: StringVersion, | ||
/// The target version of Python; that is, the version of Python for which we are resolving | ||
/// dependencies. This is typically the same as the installed version, but may be different | ||
/// when specifying an alternate Python version for the resolution. | ||
target: Version, | ||
target: StringVersion, | ||
} | ||
|
||
impl PythonRequirement { | ||
pub fn new(interpreter: &Interpreter, markers: &MarkerEnvironment) -> Self { | ||
Self { | ||
installed: interpreter.python_version().clone(), | ||
target: markers.python_full_version.version.clone(), | ||
installed: interpreter.python_full_version().clone(), | ||
target: markers.python_full_version.clone(), | ||
} | ||
} | ||
|
||
/// Return the installed version of Python. | ||
pub fn installed(&self) -> &Version { | ||
pub fn installed(&self) -> &StringVersion { | ||
&self.installed | ||
} | ||
|
||
/// Return the target version of Python. | ||
pub fn target(&self) -> &Version { | ||
pub fn target(&self) -> &StringVersion { | ||
&self.target | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters