From f5c69265bd8974a933901df759aa53461bce20b3 Mon Sep 17 00:00:00 2001 From: Philip Roche Date: Tue, 26 Jan 2021 13:55:33 +0000 Subject: [PATCH] python plugin: pin pip to supported versions (#3429) pip 21 dropped support for python 3.5 and python 2. pip >=21 no longer support python3.5 or python 2 and if used will result in a broken install with pip unable to install packages. * Drop support for Python 3.5 https://github.com/pypa/pip/issues/9189 * Drop support for Python 2 https://github.com/pypa/pip/issues/6148 --- snapcraft/plugins/_python/_pip.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/snapcraft/plugins/_python/_pip.py b/snapcraft/plugins/_python/_pip.py index 2522226339..363a837343 100644 --- a/snapcraft/plugins/_python/_pip.py +++ b/snapcraft/plugins/_python/_pip.py @@ -184,7 +184,12 @@ def _ensure_pip_installed(self): self.__python_home = os.path.join(os.path.sep, "usr") # Using the host's pip, install our own pip - self.download({"pip"}) + # pip >=21 no longer support python3.5 or python 2 and if + # used will result in a broken install with pip unable to + # install packages. + self.download( + {'pip; python_version >= "3.6"', 'pip<21; python_version < "3.6"'} + ) self.install({"pip"}, ignore_installed=True) finally: # Now that we have our own pip, reset the python home