Skip to content

Commit

Permalink
Tools: Upgrade pip and setuptools if venv is not able
Browse files Browse the repository at this point in the history
venv upgrades pip and setuptools by the --upgrade-deps option available
since Python 3.9. This commit adds manual upgrade for Pythons 3.7 and 3.8.
  • Loading branch information
dobairoland committed Aug 10, 2022
1 parent 8f670b7 commit e6c313b
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions tools/idf_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -1977,6 +1977,8 @@ def action_install_python_env(args): # type: ignore
warn('Removing the existing Python environment in {}'.format(idf_python_env_path))
shutil.rmtree(idf_python_env_path)

venv_can_upgrade = False

if not os.path.exists(virtualenv_python):
try:
import venv # noqa: F401
Expand All @@ -1986,6 +1988,7 @@ def action_install_python_env(args): # type: ignore
if sys.version_info[:2] >= (3, 9):
# upgrade pip & setuptools
virtualenv_options += ['--upgrade-deps']
venv_can_upgrade = True

info('Creating a new Python environment in {}'.format(idf_python_env_path))
subprocess.check_call([sys.executable, '-m', 'venv',
Expand All @@ -2000,6 +2003,12 @@ def action_install_python_env(args): # type: ignore
if env_copy.get('PIP_USER') == 'yes':
warn('Found PIP_USER="yes" in the environment. Disabling PIP_USER in this shell to install packages into a virtual environment.')
env_copy['PIP_USER'] = 'no'

if not venv_can_upgrade:
info('Upgrading pip and setuptools...')
subprocess.check_call([virtualenv_python, '-m', 'pip', 'install', '--upgrade', 'pip', 'setuptools'],
stdout=sys.stdout, stderr=sys.stderr, env=env_copy)

run_args = [virtualenv_python, '-m', 'pip', 'install', '--no-warn-script-location']
requirements_file_list = get_requirements(args.features)
for requirement_file in requirements_file_list:
Expand Down

0 comments on commit e6c313b

Please sign in to comment.