разрешить pipenv установить ошибку weasyprint в Docker - PullRequest
0 голосов
/ 27 января 2020

Я использую Alpine linux для моей настройки Docker. Вот Dockerfile.

# pull official base image
FROM python:3.7.4-alpine

# set work directory
WORKDIR /usr/src/app

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

RUN apk --update --upgrade --no-cache add cairo-dev pango-dev gdk-pixbuf


RUN apk update \
    && apk add --virtual build-deps gcc python3-dev musl-dev jpeg-dev zlib-dev libffi-dev\
    && apk add postgresql \
    && apk add postgresql-dev \
    && pip install psycopg2 \
    && apk add jpeg-dev zlib-dev libjpeg \
    && pip install Pillow \
    && apk del build-deps

# install dependencies
RUN pip install --upgrade pip
RUN pip install pipenv
COPY ./Pipfile /usr/src/app/Pipfile
RUN pipenv install --skip-lock --system --dev

# copy entrypoint.sh
COPY ./entrypoint.sh /usr/src/app/entrypoint.sh

# copy project
COPY . /usr/src/app/

# run entrypoint.sh
ENTRYPOINT ["/usr/src/app/entrypoint.sh"]

, который приводит к остановке при установке cairocffi и выдаче ошибки

, неспособной выполнить 'g cc': такого файла или каталога нет.

1 Ответ

0 голосов
/ 27 января 2020

Я нашел эту ссылку, однако, которая рекомендует добавить строку:

RUN apk add --update python python-dev py-pip build-base

в файл сборки и работает.

...