Skip to content

Commit

Permalink
python-setup: Fix venv creation in Ubuntu 22.04
Browse files Browse the repository at this point in the history
Fixes #1249
  • Loading branch information
RasmusWL committed Sep 19, 2022
1 parent aaca819 commit e1ce6e3
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
8 changes: 6 additions & 2 deletions python-setup/install_tools.ps1
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
#! /usr/bin/pwsh

py -2 -m pip install --user --upgrade pip setuptools wheel
py -3 -m pip install --user --upgrade pip setuptools wheel
# while waiting for the next release of `virtualenv` after v20.16.5, we install an older
# version of `setuptools` to ensure that binaries are always put under
# `<venv-path>/bin`, which wouldn't always happen with the GitHub actions version of
# Ubuntu 22.04. See https://github.com/github/codeql-action/issues/1249
py -2 -m pip install --user --upgrade pip 'setuptools<60' wheel
py -3 -m pip install --user --upgrade pip 'setuptools<60' wheel

# virtualenv is a bit nicer for setting up virtual environment, since it will provide up-to-date versions of
# pip/setuptools/wheel which basic `python3 -m venv venv` won't
Expand Down
10 changes: 8 additions & 2 deletions python-setup/install_tools.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,13 @@ set -e
export PATH="$HOME/.local/bin:$PATH"

# Setup Python 3 dependency installation tools.
python3 -m pip install --user --upgrade pip setuptools wheel

# we install an older version of `setuptools` to ensure that binaries are always put
# under `<venv-path>/bin`, which wouldn't always happen with the GitHub actions version
# of Ubuntu 22.04. See https://github.com/github/codeql-action/issues/1249. The the next
# release of `virtualenv` after v20.16.5 will include a fix for this, so we can remove
# this bit of the logic again.
python3 -m pip install --user --upgrade pip 'setuptools<60' wheel

# virtualenv is a bit nicer for setting up virtual environment, since it will provide up-to-date versions of
# pip/setuptools/wheel which basic `python3 -m venv venv` won't
Expand Down Expand Up @@ -40,7 +46,7 @@ if command -v python2 >/dev/null 2>&1; then
curl --location --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2
fi

python2 -m pip install --user --upgrade pip setuptools wheel
python2 -m pip install --user --upgrade pip 'setuptools<60' wheel

python2 -m pip install --user 'virtualenv<20.11'
fi

0 comments on commit e1ce6e3

Please sign in to comment.