Open kevinlinxc opened 1 year ago
Unfortunately, when there is no wheel for a package, there's not much to do other than satisfy build requirements. The same issue will occur with other package managers too (pipenv/poetry/etc).
In other scenarios, I would do a separate pip install with --only-binary to deal with some problematic packages, but with pip-compile I have no low-level control over what is happening. Is there a way to specify that binaries are preferred but only for a few packages?
You can use --pip-args option: pip-compile --pip-args "--only-binary :all:"
Thanks, that looks useful. Another problem though: Cython 3.0 release broke a few packages, so they need to be installed separately with --no-build-isolation like so: https://github.com/yaml/pyyaml/issues/724#issuecomment-1638636728
Is there any way to pip compile in stages to allow for this?
Does pip-compile --no-build-isolation
work for you?
I don't want all packages to have no build isolation, just the few that rely on unpinned Cython. I will test this out tomorrow though.
This is a reproducible build that will fail. It is not pip-tools fault, but I still want to know how to get around it.
Make a Dockerfile with this:
Have a requirements.in file in the same directory with
This creates an error because a wheel can't be built because certain things are missing. This might be solvable in Docker by using apt/apt-get to install things, but my actual application is on Windows, where fixing these issues are tricky. On this reproduction, numpy has the problem, on Windows, Contourpy has the problem. Is there any insight for how to fix this kind of issue? It's preventing me from using pip-compile.