←back to thread

740 points chirau | 4 comments | | HN request time: 0.001s | source
Show context
jimjag ◴[] No.44358934[source]
This has the same issue as so many package managers for Python, namely, it doesn't provide a way for --no-binary to remain sticky.

There are times when you do NOT want the wheel version to be installed (which is what --no-binary implements in pip), but so many package managers including uv don't provide that core, basic functionality. At least for those that do use pip behind the scenes, like pipenv, one can still use the PIP_NO_BINARY environment variable to ensure this.

So I'll not be migrating any time soon.

replies(2): >>44359114 #>>44359224 #
csl ◴[] No.44359114[source]
Maybe not exactly what you need (sticky) but you can set UV_NO_BINARY=1

See https://docs.astral.sh/uv/reference/environment/#uv_no_binar...

replies(1): >>44359165 #
jimjag ◴[] No.44359165[source]
It helps, that's for sure. But this sort of knowledge should not exist in the environment in any case. It should be part of the canonical package list, and not hidden away elsewhere. The whole idea of a dependency manager should be a centralized and consistent way to install everything you need and not be dependent on what values may or may not exist as a env-var.
replies(2): >>44359218 #>>44359323 #
1. csl ◴[] No.44359218[source]
Yes, I can see how it would make sense to be able to set this in pyproject.toml (typically for private package)

uv is still quite new though. Perhaps you can open an issue and ask for that?

replies(3): >>44380141 #>>44380143 #>>44380146 #
2. ◴[] No.44380141[source]
3. ◴[] No.44380143[source]
4. collinmanderson ◴[] No.44380146[source]
It looks like there's already a pyproject.toml no-binary option?

   [tool.uv]
   no-binary = true
Or for a specific package:

    [tool.uv]
    no-binary-package = ["ruff"]
https://docs.astral.sh/uv/reference/settings/#no-binary