Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
python-setup: Fix venv creation in Ubuntu 22.04
Fixes #1249
  • Loading branch information
RasmusWL committed Sep 19, 2022
commit e1ce6e3115eb3941ade27ef009d1245e4b0b74f1
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