poetry icon indicating copy to clipboard operation
poetry copied to clipboard

Poetry incorrectly detects outdated poetry.lock file

Open mapa17 opened this issue 6 months ago • 3 comments

Description

Hi, I am using poetry inside a Dockerfile to prepare an venv that contains a private azuredevops repository.

FROM python:3.12-slim AS builder

# Pass argument during build
ARG REPO_USER
ARG REPO_TOKEN

ENV LIB_REPO=https://dev.azure.com/PRJ/_git/REPO

RUN pip install poetry==1.7.1

ENV POETRY_NO_INTERACTION=1 \
    POETRY_VIRTUALENVS_IN_PROJECT=1 \
    POETRY_VIRTUALENVS_CREATE=1 \
    POETRY_CACHE_DIR=/tmp/poetry_cache

WORKDIR /app

COPY pyproject.toml poetry.lock ./

# Prepare llm-be source repo
RUN poetry source add --priority=supplemental MYLIB ${LIB_REPO} \
    && poetry config --local http-basic.llm-be ${REPO_USER} ${REPO_TOKEN} \
    && poetry install --without dev --no-root \
    && rm -rf /root/.config/pypoetry

Building the docker image locally, works by pinning poetry to 1.7.1 (see https://github.com/python-poetry/poetry/issues/9042). Running the same docker file within another azure pipeline as a DOCKERv2 Task, I can see poetry install taking a very long time, throwing the warning

pyproject.toml changed significantly since poetry.lock was last generated. Run poetry lock [--no-update] to fix the lock file.

Does this mean, the lock file is recreated? Specially for types-pytz it takes a very long time.

Workarounds

Hopefully

Poetry Installation Method

pip

Operating System

Azure Pipeline Ubuntu-Latest

Poetry Version

1.7.1

Poetry Configuration

x

Python Sysconfig

No response

Example pyproject.toml

No response

Poetry Runtime Logs

#12 2.380 Installing dependencies from lock file
#12 2.812 Warning: poetry.lock is not consistent with pyproject.toml. You may be getting improper dependencies. Run `poetry lock [--no-update]` to fix it.
#12 3.322 
#12 3.322 Package operations: 186 installs, 0 updates, 0 removals
#12 3.322 
#12 3.323   • Installing mdurl (0.1.2)
#12 3.326   • Installing pycparser (2.22)
#12 3.326   • Installing wrapt (1.16.0)
#12 3.327   • Installing zipp (3.15.0)
#12 3.664   • Installing cffi (1.17.0rc1)
#12 3.667   • Installing deprecated (1.2.14)
#12 3.667   • Installing idna (3.7)
#12 3.668   • Installing importlib-metadata (7.1.0)
#12 3.670   • Installing markdown-it-py (3.0.0)
#12 3.672   • Installing pygments (2.18.0)
#12 3.718   • Installing sniffio (1.3.1)
#12 3.957   • Installing anyio (3.7.1)
#12 3.958   • Installing certifi (2024.6.2)
#12 3.960   • Installing click (8.1.7)
#12 3.960   • Installing charset-normalizer (3.1.0)
#12 3.962   • Installing cryptography (42.0.8)
#12 3.963   • Installing h11 (0.14.0)
#12 4.067   • Installing opentelemetry-api (1.25.0)
#12 4.072   • Installing protobuf (4.25.3)
#12 4.077   • Installing pyasn1 (0.6.0)
#12 4.104   • Installing rich (13.7.1)
#12 4.214   • Installing setuptools (73.0.1)
#12 4.289   • Installing shellingham (1.5.4)
#12 4.318   • Installing typing-extensions (4.12.2)
#12 4.358   • Installing urllib3 (1.26.18)
#12 4.703   • Installing annotated-types (0.7.0)
#12 4.705   • Installing asgiref (3.8.1)
#12 4.707   • Installing cachetools (5.3.3)
#12 4.707   • Installing dnspython (2.6.1)
#12 4.708   • Installing filelock (3.14.0)
#12 4.709   • Installing frozenlist (1.4.1)
#12 4.787   • Installing fsspec (2024.6.0)
#12 4.795   • Installing httpcore (1.0.5)
#12 4.805   • Installing httptools (0.6.1)
#12 4.824   • Installing humanfriendly (10.0)
#12 4.898   • Installing markupsafe (2.1.5)
#12 4.904   • Installing mpmath (1.3.0)
#12 4.940   • Installing multidict (6.0.5)
#12 5.009   • Installing oauthlib (3.2.2)
#12 5.048   • Installing opentelemetry-instrumentation (0.46b0)
#12 5.060   • Installing opentelemetry-proto (1.25.0)
#12 5.099   • Installing opentelemetry-semantic-conventions (0.46b0)
#12 5.118   • Installing opentelemetry-util-http (0.46b0)
#12 5.148   • Installing packaging (23.1)
#12 5.176   • Installing pyasn1-modules (0.4.0)
#12 17.75   • Installing sqlalchemy (2.0.23)
#12 18.33   • Installing tabulate (0.9.0)
#12 18.46   • Installing tenacity (8.2.3)
#12 18.59   • Installing tokenizers (0.19.1)
#12 19.52   • Installing types-pytz (2024.1.0.20240417)
#12 813.9   • Installing aioodbc (0.5.0)

mapa17 avatar Aug 27 '24 08:08 mapa17