After creating venv, unconditionally find new binary. #83
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
On archlinux with no .thx cache, things are pretty broken, at least when running with an explciit version like
thx -v -p 3.9 test
. It will create the.thx/venv/3.9.18/
venv but not actually use it in the subsequent attempt to update pip since it only adjustscontext.python_path
in the live case. Arch is special in that installing python doesn't imply installing pip automatically; venvs get it via ensurepip. I don't know if this occurs on other distros.I think this is close to the right change, but find_runtime when passed a venv dir can still return a non-venv python and that should probably be more explicitly handled.
I think what this was doing before was either doing a --user upgrade or operating on a writable pyenv install, and not actually upgrading the one in the venv. That's my only explanation for how this wasn't erroring out.