is there a quick way to let all targets under a di...
# general
a
is there a quick way to let all targets under a directory follow a certain resolve? I find having to manually update each target very... manual ๐Ÿ˜†
h
w
yea,
buildozer
should work well for this case.
a
i ended up using replace ๐Ÿ˜‚
how far are we from a 2.11 stable release?
h
w
(in short: weโ€™re aiming for the middle of this week)
โž• 2
h
With the caveat that pex lock file generation may have some issues still
a
btw I'm thinking this should be auto-resolvable:
Copy code
ValueError: The address `//:reqs#requests` was not generated by the target `//:reqs`, which only generated these addresses:

  * //:reqs@resolve=pynest-default
  * //:reqs#SecretStorage@resolve=pynest-default
...
because you can just see if there is a matching dependency with that same
@resolve
that this target is in
some issue still
I'm running it on rc3 to test rn ๐Ÿ‘€
h
oh cool. There are only two bugs that we know of, and it's very plausible you do not have them
w
if you are successfully using PEX lockfiles, then youโ€™re good to goโ€ฆ the issues are primarily around the generation of lockfiles.
โž• 1
a
this does not make any sense... encountered while generating lockfiles
Copy code
โฏ ./pants generate-lockfiles
17:58:15.58 [INFO] Completed: Generate lockfile for mypy
17:58:19.40 [INFO] Completed: Generate lockfile for flake8
17:58:43.19 [INFO] Completed: Generate lockfile for airflow-dag-secure-data
17:59:23.47 [INFO] Completed: Generate lockfile for airflow-dag-data
18:00:47.44 [INFO] Completed: Generate lockfile for pynest-default
18:00:47.44 [ERROR] 1 Exception encountered:

  ProcessExecutionFailure: Process 'Generate lockfile for pynest-default' failed with exit code 1.
stdout:

stderr:
ERROR: Package 'aiohttp' requires a different Python: 3.7.10 not in '>=3.6'
h
omg what are the odds you have the exact same problematic dependency: https://github.com/pantsbuild/pex/issues/1734
a
well this makes sense:
Copy code
3.6.6 not in '>=3.7'
while this doesn't:
Copy code
Python: 3.7.10 not in '>=3.6'
๐Ÿ‘€ 1
i have to say I've never seen this
h
Huh! Are you setting
[python].resolves_to_interpreter_constraints
? If not, what is
[python].interpreter_constraints
? What version of
aiohttp
do you use?
a
I'm not setting
resolves_to_interpreter_constraints
; and i have
interpreter_constraints = [">=3.7.1,<3.8"]
i think I'm OOM
OK, failing with the same error now:
Copy code
ProcessExecutionFailure: Process 'Generate lockfile for pynest-default' failed with exit code 1.
stdout:

stderr:
ERROR: Package 'aiohttp' requires a different Python: 3.7.10 not in '>=3.6'
@happy-kitchen-89482 @hundreds-father-404 lmk if you have thoughts on ^
h
As Eric says, might be related to https://github.com/pantsbuild/pants/issues/14941, which I'm looking at. But yeah, that error message makes no logical sense.
Will see if I can reproduce
What is your constraint on
aiohttp
?
a
aiohttp==3.7.4.post0
any luck? this is blocking our upgrade to 2.11 and using multilock ๐Ÿ˜ž
Please let me know at any time if you need more info from me to help reproduce
h
@happy-kitchen-89482 would you have time? I fear I won't, I'm on the last steps of moving to Mexico City tomorrow + a mad dash to try to finish 2.11 docs before the stable release. Next week will be normal for me FYI @ambitious-student-81104 we decided to proceed w/ 2.11.0 even w/ these 3 known pex issues because we want to get out all the other improvements. We are committed to fixing these issues with pex lock files in 2.11.1
a
OK, thanks for the update! I am just blocked on this weird issue now and hope to get on 2.11 asap.
h
Would you be able to upgrade to 2.11 even without the lock file changes? That will make it a lot easier to upgrade to 2.11.1, and will hopefully still have several other good improvements from your current version
a
No, We do not intend to go multilock with custom lock file generation script.
h
ack that getting multiple resolves working is a big priority for you org
right, i mean 2.11 but dont try to use locks yet. Note that 2.10 and 2.11 do not force you to use lock files, they only give you the option
a
yeah but there is not much point to upgrade to 2.11 then? what we need is auto-generating multiple lockfiles
h
You still get all the other benefits like some performance enhancements we made. And then it will be much easier to switch to multiple lock files in 2.11.1 because you only need to make that change and don't need to also manage a pants upgrade
h
Maybe I can look tonight, right now I'm at an offsite
๐Ÿ‘ 1
๐Ÿ™Œ 1
@ambitious-student-81104 what are the interpreter constraints in pants.toml?
( [python].interpreter_constraints )
Oh NM, saw it above
Hmm, I cannot reproduce yet
That seemingly bogus "Package 'aiohttp' requires a different Python" is Pip error message, not a Pants or Pex error message.
It's midnight here so will dig more tomorrow
Does this reproduce if you trim your requirements down to just
aiohttp==3.7.4.post0
?