FFY00 · GitHub

Feature or enhancement

Proposal:

Currently, the mechanism behind virtual environments is implemented in the site module. This means that disabling the site initialization (passing -S) disables virtual environments.

I would like to move the virtual environment detection from site to the interpreter initialization (getpath), which would essentially consist of setting sys.prefix to sys.exec_prefix to the virtual environment prefix in getpath.

The motivation is the same as GH-126793, the same UX example applies. Running python -S -m ensurepip inside a virtual environment would install to the system, instead of the virtual environment.

Has this already been discussed elsewhere?

No response given

Links to previous discussion of this feature:

No response

Linked PRs

Read the original on github.com ↗