Ensure Python binary used by Poetry is consistent post-install #1430
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.
A minor improvement to the
poetry.shscript that works around unintuitive Poetry Python binary selection behavior post-install. The venv created by Poetry doesn't always use the correct Python binary post-install, even if a specific Python binary was used to run the install script. See the linked PR in the comment for further details.The separate call to
with-lockmakes me frown, but I could not find a straightforward solution to combine both the Poetryinstallandruncommands, aswith-lockdoes not support using shell functions as the executed command, and Poetry itself doesn't support specifying the Python binary in the install command (user requests for--python <path/to/python>seem to have been rejected; see linked PR). I don't think this will cause issues in practice (it's not that likely that we run into a race condition here), so proposed as-is, but if there's a more elegant solution here that I missed, I'd be happy to apply it.