Skip to content

Python Launcher for Windows (py.exe) seems to ignore virtual environment in recent beta 3.11.0b1 #92817

Closed
@Dutcho

Description

@Dutcho

When typing py, I get the standard python version as set by %PY_PYTHON%, i.c. 3.10, even when a virtual environment (venv) is active.
When typing python, I get the python version from the venv, i.c. 3.11.

I expected the Python Launcher for Windows (py.exe) to prefer the CLI command argument py -<n.n> (if any) over venv over %PY_PYTHON%.
That was the way I recall py worked in 3.10. 3.11.0a7 had an issue in ignoring %PY_PYTHON%, which is now remedied in 3.11.0.b1 (thanks @zooba !). The venv part still seems to have an issue in 3.11.0b1.

Environment

(venv) >set py
PY_PYTHON=3.10

(venv) >py -0p
 -V:3.11          C:\Program Files\Python311\python.exe
 -V:3.10 *        C:\Program Files\Python310\python.exe
 -V:3.9           C:\Program Files\Python39\python.exe

Issue

(venv) >py -V -V
Python 3.10.4 (tags/v3.10.4:9d38120, Mar 23 2022, 23:13:41) [MSC v.1929 64 bit (AMD64)]

(venv) >python -V -V
Python 3.11.0b1 (main, May  7 2022, 22:58:47) [MSC v.1931 64 bit (AMD64)]

(venv) >where python
C:\Users\[...]\venv\Scripts\python.exe
C:\Program Files\Python311\python.exe

(venv) >where py
C:\Windows\py.exe

(venv) >py -h
Python Launcher for Windows Version 3.11.0b1

usage:
py [launcher-args] [python-args] [script [script-args]]
[...]

Metadata

Metadata

Assignees

Labels

3.11only security fixesOS-windowstype-bugAn unexpected behavior, bug, or error

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions