[Python-checkins] [3.11] gh-96861: Check for unset sys.executable during venv creation. (GH-96887) (GH-96919)

vsajip webhook-mailer at python.org
Sun Sep 18 16:58:52 EDT 2022


https://github.com/python/cpython/commit/9b789e58284e9bbfc1a94f67df3badd1fcb4da01
commit: 9b789e58284e9bbfc1a94f67df3badd1fcb4da01
branch: 3.11
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: vsajip <vinay_sajip at yahoo.co.uk>
date: 2022-09-18T21:58:46+01:00
summary:

[3.11] gh-96861: Check for unset sys.executable during venv creation. (GH-96887) (GH-96919)

(cherry picked from commit 2cd70ffb3fe22d778d0bb6ec220fdf67dccc1be6)

files:
M Lib/venv/__init__.py

diff --git a/Lib/venv/__init__.py b/Lib/venv/__init__.py
index 6032f3648e15..f5570e8fcd7c 100644
--- a/Lib/venv/__init__.py
+++ b/Lib/venv/__init__.py
@@ -128,6 +128,11 @@ def create_if_needed(d):
         context.prompt = '(%s) ' % prompt
         create_if_needed(env_dir)
         executable = sys._base_executable
+        if not executable:  # see gh-96861
+            raise ValueError('Unable to determine path to the running '
+                             'Python interpreter. Provide an explicit path or '
+                             'check that your PATH environment variable is '
+                             'correctly set.')
         dirname, exename = os.path.split(os.path.abspath(executable))
         context.executable = executable
         context.python_dir = dirname



More information about the Python-checkins mailing list