curved-manchester-66006
12/20/2022, 4:56 PMrequirements.txt
file that is installed in a managed environment with some pre-existing packages that ought to be treated as constraints but are not yet. It is fair to see that this at best accidentally works and the dependencies are messy. Pants/pex keeps telling me -- correctly! -- variants of "this doesn't work! neither does that! these dependencies are incompatible you fool!", This is good in the sense that part of the reason pants is attractive is to have dependencies that more than accidentally resolve, but it is really hard to get to "first light" for this repo where the unit tests run. Right now it would feel nice if there was a --yolo
flag to have things "work" like they do today.enough-analyst-54434
12/20/2022, 5:16 PM--ignore-errors
). If you hand Pex your requirements (-r myreqs.txt
) then, assuming they are a full transitive list, you can pass --intransitive
. That should effect a successful Pex build. Now, I'm pretty sure Pants doesn't plumb this; so you can't do it today with Pants, but you could try it out to see if I'm lying or not. I'm not actually exactly sure here.enough-analyst-54434
12/20/2022, 5:17 PM--resolver-version pip-legacy-resolver
- because Old Pip was yolo in how it installed deps - it allowed conflicts just fine 😕curved-manchester-66006
12/20/2022, 5:40 PM--ignore-errors
does indeed get pex
to build a pex instead of complaining about how it won't "work". Although as you said pants doesn't seem to plumb that through.enough-analyst-54434
12/20/2022, 5:43 PMhappy-kitchen-89482
12/20/2022, 6:25 PMpython
subsytem, I think?enough-analyst-54434
12/20/2022, 6:27 PMenough-analyst-54434
12/20/2022, 6:27 PMcurved-manchester-66006
12/20/2022, 8:13 PMenough-analyst-54434
12/20/2022, 8:14 PM[python] pip_version = "22.3"
, Newer Pip fixes some perverse back-tracking scenarious.enough-analyst-54434
12/20/2022, 8:15 PMcurved-manchester-66006
12/20/2022, 8:17 PMenough-analyst-54434
12/20/2022, 8:18 PMenough-analyst-54434
12/20/2022, 8:35 PMpex3 lock create --style universal --pip-version 22.3 --resolver-version pip-2020-resolver --target-system linux --target-system mac --interpreter-constraint ">=3.7.1,<3.8" --indent 2 --output lock.json -r requirements.txt
That's what Pants runs at any rate. And you get pex3
via a `pip install pex`along with the pex
and pex-tools
console scripts.curved-manchester-66006
12/21/2022, 3:42 AM--pip-version 22.3
lockfile generation finishes(!!!) in 2m19.049s