Tools: Check venv the same way how it will be used later

It is possible that import of venv passes but it still cannot be
started. This can happen with the embedded Python deployed by the
ESP-IDF installer.
This commit is contained in:
Roland Dobai 2022-10-10 12:20:46 +02:00
parent d1dee58be5
commit 404612b130

View File

@ -2007,9 +2007,7 @@ def action_install_python_env(args): # type: ignore
venv_can_upgrade = False
if not os.path.exists(virtualenv_python):
try:
import venv # noqa: F401
if subprocess.run([sys.executable, '-m', 'venv', '-h'], check=False, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL).returncode == 0:
# venv available
virtualenv_options = ['--clear'] # delete environment if already exists
if sys.version_info[:2] >= (3, 9):
@ -2022,7 +2020,7 @@ def action_install_python_env(args): # type: ignore
*virtualenv_options,
idf_python_env_path],
stdout=sys.stdout, stderr=sys.stderr)
except ImportError:
else:
# The embeddable Python for Windows doesn't have the built-in venv module
install_legacy_python_virtualenv(idf_python_env_path)