~Is anyone familiar with the `pip` version selecti...
# development
f
Is anyone familiar with the
pip
version selection logic? I am seeing
pex
use its vendored
pip
for plugin resolution even though I configured
--python-pip-version
to 24.3.1. (This is all within pants repository.) Details in thread.
Untitled
/home/tdyas/.cache/pants/named_caches/pex_root/pip/1/20.3.4-patched/pip_cache
references the vendored pip version.
although the requirement
pip==24.3.1
later in the command is correct
The issue here is I am trying to pass a
pip
option in my change which only later
pip
versions understand.
w
Does the pex version you have support the latest?
Oh, that’s weird, if it’s in main - it should be one of the latest… I’ve seen this happen before on my machine. I ended up nuking everything and trying again, and it went away
Oh, wait I take that back - mainline has 2.20.3 by default? That’s too old for pip 24.3.1
f
I am using
pex
main branch with a change for a new option. I packaged pex into a pex and configured Pants to use it.
so definitely the latest pex
(The new option passes through to the pip invocation.)
w
Hmm, interesting. I vaguely recall from an update that there were multiple places to update pex, but that was a long time ago
But the pex-cli was what ran most of the time
Anything else you need to do, according to this? https://github.com/pantsbuild/pants/pull/21425/files
f
hmm so there is pex in the lockfile and pex cli?
I just updated pex cli.
I'll update pex in the lockfile although it won't be my modified version of pex
w
I think the goal was to move to exclusively using the Pex CLI - that might be an in-flight PR?
f
beats me. seems worthy of me investigating.
w
f
also, Pex CLI is used in this case since my new option is being passed through to the modified pex and then to pip and then pip chokes on it.
ugh dumb bug: I had passed
--keychain-provider
instead of
--keyring-provider
so obviously pip rejected a mispelled option
🤦‍♂️
💥 1
although I am still seeing the pip selection problem the first time the plugins resolve
I have to disable my change in Pants, run
./pants
for something, let it succeed, and then reenable my change and then the very same
pants
command will pass.
will try to narrow it down if I continue to see it