classification
Title: venv module does not copy the correct python exe
Type: Stage: patch review
Components: Library (Lib) Versions: Python 3.10, Python 3.9, Python 3.8
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: Ian Norton, vinay.sajip
Priority: normal Keywords: patch

Created on 2021-04-06 13:27 by Ian Norton, last changed 2021-04-09 18:27 by ned.deily.

Pull Requests
URL Status Linked Edit
PR 25216 open Ian Norton, 2021-04-06 14:02
Messages (2)
msg390329 - (view) Author: Ian Norton (Ian Norton) * Date: 2021-04-06 13:27
On windows, the venv module does not copy the correct python exe if the current running exe (eg sys.executable) has been renamed (eg, named python3.exe)

venv will only make copies of python.exe, pythonw.exe, python_d.exe or pythonw_d.exe.

If for example the python executable has been renamed from python.exe to python3.exe (eg, to co-exist in a system where multiple pythons are on PATH) then this can fail with errors like:

Error: [WinError 2] The system cannot find the file specified

When venv tries to run pip in the new environment.

If the running python executable is a differently named copy then errors like the one described in https://bugs.python.org/issue40588 are seen.
msg390330 - (view) Author: Ian Norton (Ian Norton) * Date: 2021-04-06 13:30
This may also cause https://bugs.python.org/issue35644
History
Date User Action Args
2021-04-09 18:27:24ned.deilysetnosy: + vinay.sajip
2021-04-06 14:02:50Ian Nortonsetkeywords: + patch
stage: patch review
pull_requests: + pull_request23954
2021-04-06 13:30:31Ian Nortonsetmessages: + msg390330
2021-04-06 13:27:05Ian Nortoncreate