-
-
Notifications
You must be signed in to change notification settings - Fork 624
Closed
Description
What's the problem this feature will solve?
We have been using pip-compile
to manage building the environments of several different "micro-projects" in a monorepo while ensuring that if two micro-projects share have the same dependency then the same version of that dependencey is used. To do this, we use the output of pip-compile as a constraints.txt file. The overall structure is like this
pip-compile app1 app2 app3 --output-file constraints.txt
# build environment for one app
pip install -c constraints.txt app1
This worked fine with the old pip, but with the new dependency solver, pip install -c
does not support extra requirements. This is the error message:
$ pip install -c constraints.txt ipython
DEPRECATION: Constraints are only allowed to take the form of a package name and a version specifier. Other forms were originally permitted as an accident of the implementation, but were undocumented. The new implementation of the resolver no longer supports these forms. A possible replacement is replacing the constraint with a requirement.. You can find discussion regarding this at https://github.com/pypa/pip/issues/8210.
ERROR: Constraints cannot have extras
I'm not sure if this is a "bug" or an un-supported use-case. Until now it has worked quite well for our monorepo, and is part of why I chose pip-tools over less composable solutions like poetry.
tuukkamustonen, mgax, weskerfoot, jwilges, cducrest and 6 more
Metadata
Metadata
Assignees
Labels
No labels