-
-
Notifications
You must be signed in to change notification settings - Fork 12.5k
[Doc] Fix macOS installation dependency resolution issue #26721
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
[Doc] Fix macOS installation dependency resolution issue #26721
Conversation
|
👋 Hi! Thank you for contributing to the vLLM project. 💬 Join our developer Slack at https://slack.vllm.ai to discuss your PR in #pr-reviews, coordinate on features in #feat- channels, or join special interest groups in #sig- channels. Just a reminder: PRs would not trigger full CI run by default. Instead, it would only run You ask your reviewers to trigger select CI tests on top of Once the PR is approved and ready to go, your PR reviewer(s) can run CI to test the changes comprehensively before merging. To run CI, PR reviewers can either: Add If you have any questions, please reach out to us on Slack at https://slack.vllm.ai. 🚀 |
|
Documentation preview: https://vllm--26721.org.readthedocs.build/en/26721/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request addresses a dependency resolution error for macOS users by updating the installation instructions. The addition of the --index-strategy unsafe-best-match flag to the uv pip command is a necessary fix. My review includes one suggestion to enhance the documentation by providing more context on the 'unsafe' nature of this flag, which will help users better understand the command they are running. The change is otherwise correct and well-documented.
| uv pip install -e . | ||
| ``` | ||
|
|
||
| !!! tip | ||
| The `--index-strategy unsafe-best-match` flag is needed to resolve dependencies across multiple package indexes (PyTorch CPU index and PyPI). Without this flag, you may encounter `typing-extensions` version conflicts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The explanation for --index-strategy unsafe-best-match is good, but the "unsafe" part might worry users. It's worth clarifying what this means in the context of uv and why it's an acceptable solution here. This will build more trust and provide a clearer understanding for users.
| The `--index-strategy unsafe-best-match` flag is needed to resolve dependencies across multiple package indexes (PyTorch CPU index and PyPI). Without this flag, you may encounter `typing-extensions` version conflicts. | |
| The `--index-strategy unsafe-best-match` flag is needed to resolve dependencies across multiple package indexes (PyTorch CPU index and PyPI), which is required to prevent `typing-extensions` version conflicts on macOS. The "unsafe" in the flag name indicates that `uv` might pick a package from any configured index to satisfy dependencies, without prioritizing a primary index like PyPI. This is considered safe in this context because we are using the official PyTorch index and PyPI. |
|
cc @hmellor |
|
LGTM, please resolve the conflicts and we can get this merged! |
|
This pull request has merge conflicts that must be resolved before it can be |
Add --index-strategy unsafe-best-match flag to the CPU requirements installation command for macOS. This resolves typing-extensions version conflicts that occur when uv attempts to resolve dependencies across multiple package indexes (PyTorch CPU index and PyPI). Without this flag, users encounter dependency resolution errors during installation on macOS, preventing successful setup of the development environment. Signed-off-by: faisal shah <[email protected]>
Add detailed explanation about why --index-strategy unsafe-best-match is safe to use. The 'unsafe' term refers to package resolution strategy (searching multiple indexes), not security concerns. This clarifies that both PyTorch and PyPI are trusted sources, making this approach safe. Co-authored-by: gemini-code-assist[bot] Signed-off-by: faisal shah <[email protected]>
a93cb7b to
fdddfff
Compare
|
@hmellor i have rebased can you please merge it |
…t#26721) Signed-off-by: faisal shah <[email protected]> Signed-off-by: George D. Torres <[email protected]>
…t#26721) Signed-off-by: faisal shah <[email protected]> Signed-off-by: Bram Wasti <[email protected]>
…t#26721) Signed-off-by: faisal shah <[email protected]>
…t#26721) Signed-off-by: faisal shah <[email protected]>
…t#26721) Signed-off-by: faisal shah <[email protected]> Signed-off-by: Xingyu Liu <[email protected]>
…t#26721) Signed-off-by: faisal shah <[email protected]>
Purpose
Fixes dependency resolution error that prevents macOS users from installing vLLM following the current documentation.
Problem: When running
uv pip install -r requirements/cpu.txton macOS, users encounter atyping-extensionsversion conflict. This occurs becauseuvby default only searches the first package index (PyTorch CPU index) and doesn't find compatible versions across multiple indexes (PyTorch CPU + PyPI).Solution: Add
--index-strategy unsafe-best-matchflag to the installation command, which instructsuvto search all configured package indexes to find compatible dependency versions.Test Plan
docs/getting_started/installation/cpu/apple.inc.mdTest Result
✅ Before fix: Installation failed with
typing-extensionsdependency resolution error✅ After fix: Installation completed successfully
✅ Verification: Successfully ran vLLM tests:
Essential Elements of an Effective PR Description Checklist
supported_models.mdandexamplesfor a new model.