Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

uv pip install failes for wheel URLs with placeholder #8082

Open
mil-ad opened this issue Oct 10, 2024 · 10 comments
Open

uv pip install failes for wheel URLs with placeholder #8082

mil-ad opened this issue Oct 10, 2024 · 10 comments
Labels
compatibility Compatibility with a specification or another tool needs-decision Undecided if this should be done

Comments

@mil-ad
Copy link

mil-ad commented Oct 10, 2024

I was following the vllm nightly installation guide where they have this one-liner for installing their nightly wheels:

pip install https://vllm-wheels.s3.us-west-2.amazonaws.com/nightly/vllm-1.0.0.dev-cp38-abi3-manylinux1_x86_64.whl

Their documentation specifically says:

The version string in the wheel file name (1.0.0.dev) is just a placeholder to have a unified URL for the wheels. The actual versions of wheels are contained in the wheel metadata.

when using uv pip install I get:

error: Failed to install: vllm-1.0.0.dev0-cp38-abi3-manylinux1_x86_64.whl (vllm==1.0.0.dev0 (from https://vllm-wheels.s3.us-west-2.amazonaws.com/nightly/vllm-1.0.0.dev-cp38-abi3-manylinux1_x86_64.whl))
  Caused by: Wheel version does not match filename: 0.6.3.dev155+gf3a507f1.d20241010 != 1.0.0.dev0

but doing vanilla pip install works.

@charliermarsh
Copy link
Member

My initial reaction is that it seems correct to fail here (I'm somewhat surprised this recommend this), and pip's lack of enforcement seems more like a bug than a feature.

@mil-ad
Copy link
Author

mil-ad commented Oct 10, 2024

I think I agree. I hadn't seen this pattern before.

@konstin
Copy link
Member

konstin commented Oct 10, 2024

It violates the Python packaging specs (the binary distribution spec requires the version to be in the wheel name), so i consider this a bug in their packaging system - Thanks for filing the upstream bug!

@charliermarsh charliermarsh added compatibility Compatibility with a specification or another tool needs-decision Undecided if this should be done labels Oct 11, 2024
@gaardhus
Copy link

gaardhus commented Dec 4, 2024

I just ran into the same issue with the same package. Are you guys thinking of adding a flag to circumvent this, or should I try to push for them to change their practice? FWIW I don't think it's a bug as in unintended on their part, but an "easy" way to let people install the latest nightly version without having to update the url accordingly?

@konstin
Copy link
Member

konstin commented Dec 4, 2024

but an "easy" way to let people install the latest nightly version without having to update the url accordingly?

This can be done by using a --find-links index (basically a flat html page with links to source distributions and wheels) or a full index with the nightly package. The wheel version of a filename needs to be fixed, otherwise resolvers such as uv process the file properly in the dependencies graph.

@gaardhus
Copy link

gaardhus commented Dec 4, 2024

Roger that, will turn to the vllm repo then

@ywang96
Copy link

ywang96 commented Dec 22, 2024

A few of us from the vLLM project are addressing this issue so that you can use uv to install nightly wheels - See vllm-project/vllm#11404

@connorblack
Copy link

Running into this with the huggingface.co/docs/bitsandbytes package as well.

The wheel it fails with:

@charliermarsh
Copy link
Member

charliermarsh commented Dec 27, 2024

I believe this has been (or is being) fixed with vLLM specifically, but in general I think this is the correct behavior for uv.

For bits-and-bytes, it seems like they should be including the local tag in the wheel filename... Though we can make it optional.

@dsantiago
Copy link

dsantiago commented Jan 5, 2025

Running into this with the huggingface.co/docs/bitsandbytes package as well.

The wheel it fails with:

+1 Same problem here with bitsandbytes

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compatibility Compatibility with a specification or another tool needs-decision Undecided if this should be done
Projects
None yet
Development

No branches or pull requests

7 participants