Skip to content

Instantly share code, notes, and snippets.

@playpauseandstop
Last active March 7, 2020 22:16
Show Gist options
  • Save playpauseandstop/826584409a09fccba0cd1d485251e192 to your computer and use it in GitHub Desktop.
Save playpauseandstop/826584409a09fccba0cd1d485251e192 to your computer and use it in GitHub Desktop.
pyproject.toml

Consider using latest pip for poetry

Long story short: poetry does not support installing manylinux2014 wheels.

Issue: python-poetry/poetry#2146

Details

As poetry still internally using pip==19.2.3 it is not able to install manylinux2014 wheels. In most cases it might be ok, but for my case it results in inability installing pyheif==0.4 with poetry in Docker.

Dockerfile.poetry

Given dockerfile attempts to install pyheif==0.4 with poetry and will fail.

To run,

docker -f Dockerfile.poetry .

Dockerfile.pip19

Given dockerfile downgrade pip to 19.2.3 to ensure that manylinux2014 wheels is not installable.

To run,

docker -f Dockerfile.pip19 .

Dockerfile.pip20

Given dockerfile uses latest (as of 2020-03-07) pip, which supports installing manylinux2014 wheels.

To run,

docker -f Dockerfile.pip20 .
FROM playpauseandstop/docker-python:3.2.0-py38
RUN pip install pip==19.2.3
RUN pip install pyheif==0.4
CMD ["python"]
FROM playpauseandstop/docker-python:3.2.0-py38
RUN pip install pyheif==0.4
CMD ["python"]
FROM playpauseandstop/docker-python:3.2.0-py38
COPY pyproject.toml
RUN poetry install
CMD ["python"]
[tool.poetry]
name = "test-poetry-pyheif"
version = "1.0.0"
description = ""
authors = ["Igor Davydenko <[email protected]>"]
license = "BSD-3-Clause"
[tool.poetry.dependencies]
python = "^3.8"
pyheif = "^0.4"
[tool.poetry.dev-dependencies]
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment