Open willingc opened 8 months ago
We might need to consider that some things might rely on the presence of the VIRTUAL_ENV
environment variable, which is set when activating a virtual environment.
Apparently the Windows py
launcher is aware of VIRTUAL_ENV
(already since Python 3.5, (PEP 486 ). Nice. 👍
The The Python Launcher for Unix is also aware of VIRUAL_ENV
https://python-launcher.app/#activated-virtual-environment
but also notes "In general, this feature is not needed. If you create a virtual environment in the current directory in a .venv
directory, the Python Launcher will automatically use that. ... Otherwise it will search the parent directory, and so on, until it finds a .venv
directory"
I think .venv
directories are not automatically used by the Windows py
launcher yet.
Could these parts be updated as well? They are incorrect and actively misleading, leading to a lot of misunderstandings. A virtual environment can be used without activation. It depends on how / which pip is used. It would be fantastic if this guide could explain that in slightly more detail: Explicitly explain that activating is only (one way of) putting the the virtual environment-specific
python
andpip
executables into the current shell'sPATH
. Specifying that path explicitly is also possible and often easier, preferred, clearer, more robust. The leaky abstraction "activation" and the lack of such an explanation is mystifying things unnecessarily, and leads to many problems and much confusion.Originally posted by @petsuter in https://github.com/pypa/packaging.python.org/issues/1338#issuecomment-1793544750