Django 解决Docker中的pipenv安装weasyprint错误
我正在使用Alpine linux进行Docker设置。 这是DockerfileDjango 解决Docker中的pipenv安装weasyprint错误,django,docker,alpine,Django,Docker,Alpine,我正在使用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 --n
# 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"]
这会导致Cairocfi安装停滞,并给出
无法执行“gcc”:没有这样的文件或目录。但是我找到了链接,建议添加以下行:
RUN apk add --update python python-dev py-pip build-base
到构建文件并运行 会救你的命,不管你是否使用pipenv
对于阿尔卑斯山(>=3.6)
使用
apk--update--upgrade添加gcc musl dev jpeg dev zlib dev libffi dev cairo dev pango dev gdk pixbuf dev
谢谢。我已经找到了答案,最后使用了上面提到的库。