diff --git a/crates/uv-install-wheel/src/linker.rs b/crates/uv-install-wheel/src/linker.rs index 16a4fc75c..92d8a29aa 100644 --- a/crates/uv-install-wheel/src/linker.rs +++ b/crates/uv-install-wheel/src/linker.rs @@ -39,14 +39,12 @@ impl Locks { (wheel_a, &wheel_b) }; warn_user!( - "The module {} exists in two packages! \ - This leads to a race condition and likely to a broken installation. \ - Consider removing either {} ({}) or {} ({}).", - module.simplified_display(), - wheel_a.name, - wheel_a, - wheel_b.name, - wheel_b, + "The module `{}` is provided by more than one package, \ + which causes an install race condition and can result in a broken module. \ + Consider removing your dependency on either `{}` or `{}`.", + module.simplified_display().green(), + wheel_a.name.cyan(), + wheel_b.name.cyan(), ); } } diff --git a/crates/uv/tests/it/pip_install.rs b/crates/uv/tests/it/pip_install.rs index 3526639ba..75b7c3c85 100644 --- a/crates/uv/tests/it/pip_install.rs +++ b/crates/uv/tests/it/pip_install.rs @@ -11409,7 +11409,7 @@ fn overlapping_packages_warning() -> Result<()> { ----- stderr ----- Resolved 2 packages in [TIME] Prepared 2 packages in [TIME] - warning: The module built_by_uv exists in two packages! This leads to a race condition and likely to a broken installation. Consider removing either built-by-uv (built_by_uv-0.1.0-py3-none-any.whl) or also-built-by-uv (also_built_by_uv-0.1.0-py3-none-any.whl). + warning: The module `built_by_uv` is provided by more than one package, which causes an install race condition and can result in a broken module. Consider removing your dependency on either `built-by-uv` or `also-built-by-uv`. Installed 2 packages in [TIME] + also-built-by-uv==0.1.0 (from file://[TEMP_DIR]/also_built_by_uv-0.1.0-py3-none-any.whl) + built-by-uv==0.1.0 (from file://[TEMP_DIR]/built_by_uv-0.1.0-py3-none-any.whl)