Set base executable when returning virtual environment #11209
Merged
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.
Summary
I'm not sure that this has much of an effect in practice, but currently, when we return a virtual environment, the
sys_base_executableof the parent ends up being retained assys_base_executableof the created environment. But these can be, like, subtly different? If you have a symlink to a Python, then for the symlink,sys_base_executablewill be equal tosys_executable. But when you create a virtual environment for that interpreter, we'll sethometo the resolved symlink, and sosys_base_executablewill be the resolved symlink too, in general. Anyway, this means that we should now have a consistent value between (1) returningVirtualenvfrom the creation routine and (2) querying the created interpreter.