hundreds-father-404
08/11/2021, 6:16 PMsetuptools
and wheel
in lockfiles. We need those included. But they're currently at 1.2.0a2, and it took 3.5 months for 1.1 to go from a2 to stable release
Some options:hundreds-father-404
08/11/2021, 6:18 PMwitty-crayon-22786
08/11/2021, 6:30 PMancient-vegetable-10556
08/11/2021, 6:31 PMhundreds-father-404
08/11/2021, 6:33 PMpytest
due to Invalid PEP 440 version: '3.5.'
, even though 1.1 handles it great. Looks like a bug
Even tho it's an implementation detail that we use Poetry, I think users will be frustrated if Pants's lockfile generation is buggy due to issues like thisancient-vegetable-10556
08/11/2021, 6:34 PMhundreds-father-404
08/11/2021, 6:34 PMancient-vegetable-10556
08/11/2021, 6:36 PMpip
and setuptools
as unsafe, when you’re actually using poetry for dependency management… Does that issue affect our use case?hundreds-father-404
08/11/2021, 6:36 PMpip
and friends like pipx
. But then we don't have a lockfile for Poetry itself, and I think it's a chicken and egg problem to have Pants use Poetry to generate a lockfile for Poetry
That would give us deterministic installs and make it easy to patch this. But now it's harder for users to change the version used in the feature)ancient-vegetable-10556
08/11/2021, 6:37 PMhundreds-father-404
08/11/2021, 6:42 PMDoes that issue affect our use case?I don't think so. For any projects not using PEP 517, we need to have
setuptools
included. In fact, this is one of our most common issues users ask for help w/ in Pants Slack. They have a 3rdparty dep that doesn't use PEP 517 and doesn't declare a dep on setuptools
, so they have to manually add the dependency. We need to preserve that explicit dep in the lockfileancient-vegetable-10556
08/11/2021, 6:44 PMhundreds-father-404
08/11/2021, 7:00 PMpoetry lock
, rather than poetry install
Fwict, only downside is we now have to maintain a forkancient-vegetable-10556
08/11/2021, 7:01 PMhundreds-father-404
08/11/2021, 7:03 PMhundreds-father-404
08/11/2021, 7:04 PMhundreds-father-404
08/11/2021, 7:04 PMwitty-crayon-22786
08/11/2021, 7:06 PMwitty-crayon-22786
08/11/2021, 7:06 PMwitty-crayon-22786
08/11/2021, 7:08 PMhundreds-father-404
08/11/2021, 7:09 PMsetuptools
and wheel
from every lockfile, meaning setuptools_lockfile.txt
is empty 👀hundreds-father-404
08/11/2021, 7:10 PMi don’t think there is a chicken and egg problem: poetry is only used to generate lockfiles. if you already have one, you can still build it. so afaict, no need for a PEX if you hand-make the lockfile (or have instructions for how to do it with poetry itself)Got it, so that mechanism will have to be a little differnt, to be clear? You manually provide the lockfile, rather than Pants running Poetry to generate it for you. Makes sense to me!
witty-crayon-22786
08/11/2021, 7:11 PMwitty-crayon-22786
08/11/2021, 7:11 PMwitty-crayon-22786
08/11/2021, 7:12 PMhundreds-father-404
08/11/2021, 7:15 PM3.5.*
constraint to 3.5.
, then PEP 440 erroring. (Not sure where 3.5.* even comes from)
But my takeaway from it was: this is less stable than we want for our upcoming 2.7 release. If I figure out this particular bug, I'm sure we will have otherswitty-crayon-22786
08/11/2021, 7:20 PMwitty-crayon-22786
08/11/2021, 7:22 PMancient-vegetable-10556
08/11/2021, 7:22 PMancient-vegetable-10556
08/11/2021, 7:22 PMwitty-crayon-22786
08/11/2021, 7:22 PMhundreds-father-404
08/11/2021, 7:23 PMancient-vegetable-10556
08/11/2021, 7:23 PMwitty-crayon-22786
08/11/2021, 7:23 PMhundreds-father-404
08/11/2021, 7:24 PMancient-vegetable-10556
08/11/2021, 7:25 PMwitty-crayon-22786
08/11/2021, 7:26 PM-c 'import thing; <http://thing.to|thing.to>_change=fixed_definition; main()'
hundreds-father-404
08/11/2021, 11:43 PM-m
and create a custom file loaded via --sources
. -c
looked for console scripts defined in the 3rd party depswitty-crayon-22786
08/11/2021, 11:44 PMpython
for that flagwitty-crayon-22786
08/11/2021, 11:46 PM-c
at runtime)