From da3024e16207e0ef0e00abde0922abcfacb724df Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 7 Feb 2022 15:12:04 +0100 Subject: [PATCH] Upgrade to newer Python pip>=21.0 (#59769) --- .github/workflows/builder.yml | 2 +- .github/workflows/ci.yaml | 10 +++++----- .vscode/tasks.json | 4 ++-- Dockerfile | 6 +++--- Dockerfile.dev | 4 ++-- homeassistant/package_constraints.txt | 2 +- requirements.txt | 2 +- script/bootstrap | 2 +- script/setup | 2 +- setup.cfg | 2 +- tox.ini | 3 ++- 11 files changed, 20 insertions(+), 19 deletions(-) diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index 37e22052167..1ede9c62e16 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -112,7 +112,7 @@ jobs: shell: bash run: | python3 -m pip install packaging - python3 -m pip install . + python3 -m pip install --use-deprecated=legacy-resolver . python3 script/version_bump.py nightly version="$(python setup.py -V)" diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f4563b18bbf..321cb7f622b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -191,8 +191,8 @@ jobs: python -m venv venv . venv/bin/activate python --version - pip install --cache-dir=$PIP_CACHE -U "pip<20.3" setuptools wheel - pip install --cache-dir=$PIP_CACHE -r requirements.txt -r requirements_test.txt + pip install --cache-dir=$PIP_CACHE -U "pip>=21.0,<22.1" setuptools wheel + pip install --cache-dir=$PIP_CACHE -r requirements.txt -r requirements_test.txt --use-deprecated=legacy-resolver - name: Generate partial pre-commit restore key id: generate-pre-commit-key run: >- @@ -583,9 +583,9 @@ jobs: python -m venv venv . venv/bin/activate python --version - pip install --cache-dir=$PIP_CACHE -U "pip<20.3" setuptools wheel - pip install --cache-dir=$PIP_CACHE -r requirements_all.txt - pip install --cache-dir=$PIP_CACHE -r requirements_test.txt + pip install --cache-dir=$PIP_CACHE -U "pip>=21.0,<22.1" setuptools wheel + pip install --cache-dir=$PIP_CACHE -r requirements_all.txt --use-deprecated=legacy-resolver + pip install --cache-dir=$PIP_CACHE -r requirements_test.txt --use-deprecated=legacy-resolver pip install -e . pylint: diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 3fecfd8ba48..d71571d2594 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -88,7 +88,7 @@ { "label": "Install all Requirements", "type": "shell", - "command": "pip3 install -r requirements_all.txt", + "command": "pip3 install --use-deprecated=legacy-resolver -r requirements_all.txt", "group": { "kind": "build", "isDefault": true @@ -102,7 +102,7 @@ { "label": "Install all Test Requirements", "type": "shell", - "command": "pip3 install -r requirements_test_all.txt", + "command": "pip3 install --use-deprecated=legacy-resolver -r requirements_test_all.txt", "group": { "kind": "build", "isDefault": true diff --git a/Dockerfile b/Dockerfile index a4d5ce3045d..1d6ce675e74 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,17 +12,17 @@ COPY requirements.txt homeassistant/ COPY homeassistant/package_constraints.txt homeassistant/homeassistant/ RUN \ pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \ - -r homeassistant/requirements.txt + -r homeassistant/requirements.txt --use-deprecated=legacy-resolver COPY requirements_all.txt homeassistant/ RUN \ pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \ - -r homeassistant/requirements_all.txt + -r homeassistant/requirements_all.txt --use-deprecated=legacy-resolver ## Setup Home Assistant Core COPY . homeassistant/ RUN \ pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \ - -e ./homeassistant \ + -e ./homeassistant --use-deprecated=legacy-resolver \ && python3 -m compileall homeassistant/homeassistant # Fix Bug with Alpine 3.14 and sqlite 3.35 diff --git a/Dockerfile.dev b/Dockerfile.dev index b908bf01a32..39ce36074ad 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -33,9 +33,9 @@ WORKDIR /workspaces # Install Python dependencies from requirements COPY requirements.txt ./ COPY homeassistant/package_constraints.txt homeassistant/package_constraints.txt -RUN pip3 install -r requirements.txt +RUN pip3 install -r requirements.txt --use-deprecated=legacy-resolver COPY requirements_test.txt requirements_test_pre_commit.txt ./ -RUN pip3 install -r requirements_test.txt +RUN pip3 install -r requirements_test.txt --use-deprecated=legacy-resolver RUN rm -rf requirements.txt requirements_test.txt requirements_test_pre_commit.txt homeassistant/ # Set the default shell to bash instead of sh diff --git a/homeassistant/package_constraints.txt b/homeassistant/package_constraints.txt index 5cded6a179d..18ed69348b0 100644 --- a/homeassistant/package_constraints.txt +++ b/homeassistant/package_constraints.txt @@ -21,7 +21,7 @@ ifaddr==0.1.7 jinja2==3.0.3 paho-mqtt==1.6.1 pillow==9.0.1 -pip>=8.0.3,<20.3 +pip>=21.0,<22.1 pyserial==3.5 python-slugify==4.0.1 pyudev==0.22.0 diff --git a/requirements.txt b/requirements.txt index c8ee1d91368..b907cc50cbb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,7 +15,7 @@ ifaddr==0.1.7 jinja2==3.0.3 PyJWT==2.1.0 cryptography==35.0.0 -pip>=8.0.3,<20.3 +pip>=21.0,<22.1 python-slugify==4.0.1 pyyaml==6.0 requests==2.27.1 diff --git a/script/bootstrap b/script/bootstrap index b641ec7e8c0..5040a322b62 100755 --- a/script/bootstrap +++ b/script/bootstrap @@ -8,4 +8,4 @@ cd "$(dirname "$0")/.." echo "Installing development dependencies..." python3 -m pip install wheel --constraint homeassistant/package_constraints.txt -python3 -m pip install tox tox-pip-version colorlog pre-commit $(grep mypy requirements_test.txt) $(grep stdlib-list requirements_test.txt) $(grep tqdm requirements_test.txt) $(grep pipdeptree requirements_test.txt) $(grep awesomeversion requirements.txt) --constraint homeassistant/package_constraints.txt +python3 -m pip install tox tox-pip-version colorlog pre-commit $(grep mypy requirements_test.txt) $(grep stdlib-list requirements_test.txt) $(grep tqdm requirements_test.txt) $(grep pipdeptree requirements_test.txt) $(grep awesomeversion requirements.txt) --constraint homeassistant/package_constraints.txt --use-deprecated=legacy-resolver diff --git a/script/setup b/script/setup index f827c3a373f..210779eec45 100755 --- a/script/setup +++ b/script/setup @@ -24,7 +24,7 @@ fi script/bootstrap pre-commit install -python3 -m pip install -e . --constraint homeassistant/package_constraints.txt +python3 -m pip install -e . --constraint homeassistant/package_constraints.txt --use-deprecated=legacy-resolver hass --script ensure_config -c config diff --git a/setup.cfg b/setup.cfg index 061e0bbc0cb..75d7905ff0e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -48,7 +48,7 @@ install_requires = PyJWT==2.1.0 # PyJWT has loose dependency. We want the latest one. cryptography==35.0.0 - pip>=8.0.3,<20.3 + pip>=21.0,<22.1 python-slugify==4.0.1 pyyaml==6.0 requests==2.27.1 diff --git a/tox.ini b/tox.ini index af2f9961956..b47a6c94ac8 100644 --- a/tox.ini +++ b/tox.ini @@ -6,7 +6,8 @@ ignore_basepython_conflict = True [testenv] basepython = {env:PYTHON3_PATH:python3} # pip version duplicated in homeassistant/package_constraints.txt -pip_version = pip>=8.0.3,<20.3 +pip_version = pip>=21.0,<22.1 +install_command = python -m pip install --use-deprecated legacy-resolver {opts} {packages} commands = {envpython} -X dev -m pytest --timeout=9 --durations=10 -n auto --dist=loadfile -qq -o console_output_style=count -p no:sugar {posargs} {toxinidir}/script/check_dirty