mirror of
https://github.com/astral-sh/uv.git
synced 2025-07-07 13:25:00 +00:00
Display dependency versions in pip-like format during solve failure (#346)
- Display `==` for exact version ranges - Remove space between dependency and version range
This commit is contained in:
parent
a5e535f6fb
commit
1748cfb522
5 changed files with 15 additions and 15 deletions
|
@ -6,9 +6,9 @@ info:
|
|||
- pip-compile
|
||||
- pyproject.toml
|
||||
- "--cache-dir"
|
||||
- /var/folders/bc/qlsk3t6x7c9fhhbvvcg68k9c0000gp/T/.tmpmN6eIS
|
||||
- /var/folders/bc/qlsk3t6x7c9fhhbvvcg68k9c0000gp/T/.tmpN531dN
|
||||
env:
|
||||
VIRTUAL_ENV: /var/folders/bc/qlsk3t6x7c9fhhbvvcg68k9c0000gp/T/.tmpaj2K70/.venv
|
||||
VIRTUAL_ENV: /var/folders/bc/qlsk3t6x7c9fhhbvvcg68k9c0000gp/T/.tmp99w9dK/.venv
|
||||
---
|
||||
success: false
|
||||
exit_code: 1
|
||||
|
@ -16,5 +16,5 @@ exit_code: 1
|
|||
|
||||
----- stderr -----
|
||||
× No solution found when resolving dependencies:
|
||||
╰─▶ my-project depends on django ∅
|
||||
╰─▶ my-project depends on django∅
|
||||
|
||||
|
|
|
@ -6,9 +6,9 @@ info:
|
|||
- pip-compile
|
||||
- requirements.in
|
||||
- "--cache-dir"
|
||||
- /var/folders/nt/6gf2v7_s3k13zq_t3944rwz40000gn/T/.tmpVyrxMG
|
||||
- /var/folders/bc/qlsk3t6x7c9fhhbvvcg68k9c0000gp/T/.tmpleIayX
|
||||
env:
|
||||
VIRTUAL_ENV: /var/folders/nt/6gf2v7_s3k13zq_t3944rwz40000gn/T/.tmpF8a4y3/.venv
|
||||
VIRTUAL_ENV: /var/folders/bc/qlsk3t6x7c9fhhbvvcg68k9c0000gp/T/.tmp24qRXe/.venv
|
||||
---
|
||||
success: false
|
||||
exit_code: 1
|
||||
|
@ -16,5 +16,5 @@ exit_code: 1
|
|||
|
||||
----- stderr -----
|
||||
× No solution found when resolving dependencies:
|
||||
╰─▶ root depends on werkzeug 3.0.0
|
||||
╰─▶ root depends on werkzeug==3.0.0
|
||||
|
||||
|
|
|
@ -6,9 +6,9 @@ info:
|
|||
- pip-compile
|
||||
- requirements.in
|
||||
- "--cache-dir"
|
||||
- /var/folders/nt/6gf2v7_s3k13zq_t3944rwz40000gn/T/.tmpb7ldgy
|
||||
- /var/folders/bc/qlsk3t6x7c9fhhbvvcg68k9c0000gp/T/.tmpfXoEZG
|
||||
env:
|
||||
VIRTUAL_ENV: /var/folders/nt/6gf2v7_s3k13zq_t3944rwz40000gn/T/.tmp6FMPGr/.venv
|
||||
VIRTUAL_ENV: /var/folders/bc/qlsk3t6x7c9fhhbvvcg68k9c0000gp/T/.tmpJkukgJ/.venv
|
||||
---
|
||||
success: false
|
||||
exit_code: 1
|
||||
|
@ -16,6 +16,6 @@ exit_code: 1
|
|||
|
||||
----- stderr -----
|
||||
× No solution found when resolving dependencies:
|
||||
╰─▶ Because flask 3.0.0 depends on werkzeug >=3.0.0 and root 0a0.dev0
|
||||
depends on flask 3.0.0, root 0a0.dev0 is forbidden.
|
||||
╰─▶ Because flask ==3.0.0 depends on werkzeug >=3.0.0 and root ==0a0.dev0
|
||||
depends on flask ==3.0.0, root ==0a0.dev0 is forbidden.
|
||||
|
||||
|
|
|
@ -383,22 +383,22 @@ impl fmt::Display for PuffinExternal {
|
|||
if package_set == &Range::full() && dependency_set == &Range::full() {
|
||||
write!(f, "{package} depends on {dependency}")
|
||||
} else if package_set == &Range::full() {
|
||||
write!(f, "{package} depends on {dependency} {dependency_set}")
|
||||
write!(f, "{package} depends on {dependency}{dependency_set}")
|
||||
} else if dependency_set == &Range::full() {
|
||||
if matches!(package, PubGrubPackage::Root(_)) {
|
||||
// Exclude the dummy version for root packages
|
||||
write!(f, "{package} depends on {dependency}")
|
||||
} else {
|
||||
write!(f, "{package} {package_set} depends on {dependency}")
|
||||
write!(f, "{package}{package_set} depends on {dependency}")
|
||||
}
|
||||
} else {
|
||||
if matches!(package, PubGrubPackage::Root(_)) {
|
||||
// Exclude the dummy version for root packages
|
||||
write!(f, "{package} depends on {dependency} {dependency_set}")
|
||||
write!(f, "{package} depends on {dependency}{dependency_set}")
|
||||
} else {
|
||||
write!(
|
||||
f,
|
||||
"{package} {package_set} depends on {dependency} {dependency_set}"
|
||||
"{package}{package_set} depends on {dependency}{dependency_set}"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
2
vendor/pubgrub/src/range.rs
vendored
2
vendor/pubgrub/src/range.rs
vendored
|
@ -382,7 +382,7 @@ impl<V: Display + Eq> Display for Range<V> {
|
|||
(Included(v), Unbounded) => write!(f, ">={v}")?,
|
||||
(Included(v), Included(b)) => {
|
||||
if v == b {
|
||||
write!(f, "{v}")?
|
||||
write!(f, "=={v}")?
|
||||
} else {
|
||||
write!(f, ">={v},<={b}")?
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue