Pular para conteúdo

Usando pip com pyproject em containers

Na maioria esmagadora dos meus projetos tenho usado poetry para desenvolver localmente. O que ajuda na organização, mas, nos containers eu não preciso de grupos de dependências, plugins de desenvolvimento, etc...

Desde a versão 21.2 o pip já suporta o padrão pyproject.toml, nas versões mais recenetes como +25 até mesmo os grupos de dependências já são suportados.

Com isso em mente, não é necessário mais instalar seu gerenciador de projetos nos containers de aplicação, mesmo se precisar de alguns grupos de dependências:

Containerfile
FROM python:3.14-slim

WORKDIR /app

COPY pyproject.toml README.md .

RUN pip install --no-cache-dir .

CMD ["seu", "comando"]

E se for um container de build, ou algo que o valha (release, artefatos, etc..), onde os grupos são importantes. Você poderia simplesmente adicionar algo como:

Containerfile
RUN pip install --group seu-grupo

Com isso, reduzindo significativamente o tempo de build da imagem, sem precisar instalar seu gerenciador de projeto. Seja poetry, pdm, hatch, uv....