Uv helps you up though. Use a pyproject.toml and uv sync. Everything will be put into the venv only, nothing spread across the whole system.
The pyproject.toml can even handles build env for you, so you no longer need a setup.sh that installs 10 tool in specific order with specific flag to produce working environment. A single uv sync, and the job is done.
Plus the result is reproducible, so if this time uv sync work, then it also work next time.
Highly recommend if you are still on pip.
Note: Take a example that I used to install unsloth with rocm setup that based on unreleased git version dependencies and graphic card specific build flag, all of them can be handled with one command 'uv sync'. This will require a big pile of shell script if doing another way. https://github.com/unslothai/unsloth/issues/4280#issuecommen...
I recommend installing uv first, then you can install any Python code you want inside a virtual environment to keep it isolated from the rest of the system.
Yep uv pip install unsloth works as well - we probably should have just made that the default - in fact Unsloth makes its own venv using UV if you have it dynamically
I think the website should probably mention those installation preset in unsloth pyproject.toml though. The website instruct you to install dependencies separately. But it turns out there are dedicated preset that install specific rocm/cuda/xpu version in the project.
Ah yes, came to say something similar, Python dependencies are an absolute nightmare, even with uv it feels like there's always a battle to make other peoples Python apps install.
Update: It looks like it doesn't work with the current Python version, you might have to downgrade to Python 3.13 (however even then I still get `error: unexpected argument '--torch-backend' found`)
You would be surprised - we're the 4th largest independent distributor of LLMs in the world - and nearly every Fortune 500 company has utilized either our RL fine-tuning package or used our quants and models - we for example collab directly with large labs to release models with bug fixes.
This needs to go on homebrew or be a zip file with an app for manual download.