【问题标题】:error when installing from pipfile.lock in docker从 docker 中的 pipfile.lock 安装时出错
【发布时间】:2019-10-24 02:27:49
【问题描述】:

我正在尝试在项目中使用 docker。除非我使用 django 频道和 Pillow,否则它工作正常。以下是我的工作配置

Dockerfile

FROM python:3.7-alpine

ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1

# set working directory which will be inside ubuntu
WORKDIR /code

#### Install a dependency ####
# install psycopg2
RUN echo "https://mirror.csclub.uwaterloo.ca/alpine/v3.9/main" > /etc/apk/repositories
RUN echo "https://mirror.csclub.uwaterloo.ca/alpine/v3.9/community" >>/etc/apk/repositories
RUN apk update
RUN apk add --update --no-cache postgresql-client jpeg-dev
RUN apk add --update --no-cache --virtual .tmp-build-deps \
    gcc libc-dev linux-headers postgresql-dev musl-dev zlib zlib-dev \
    && pip3 install psycopg2-binary \
    && apk del .tmp-build-deps

RUN pip3 install --upgrade pip
RUN pip3 install pipenv
COPY Pipfile* /code/
RUN pipenv install --system --deploy --ignore-pipfile
COPY ./entrypoint.sh /code/entrypoint.sh
COPY . /code/

ENTRYPOINT ["/code/entrypoint.sh"]

我的 pipfile 是

[packages]
django = "*"
"psycopg2-binary" = "*"
djangorestframework = "*"
djangorestframework-jwt = "*"
djoser = "*"
graphene-django = "*"
django-cors-headers = "*"
django-graphql-social-auth = "*"
django-money = "*"
django-mptt = "*"
pillow = "*"
channels = "*"
channels-redis = "*"

我得到的错误是这样的

如果我从 pipfile 中删除枕头、频道和频道-redis,它可以工作。我该如何解决这个问题?

【问题讨论】:

    标签: python django docker dockerfile django-channels


    【解决方案1】:

    根据我的经验,像这样的错误通常是缺少传递的、本机依赖的结果。从错误消息来看,cffi 似乎无法安装。该库依赖于操作系统包libffi,因此您只需将libffi-dev 添加到apk 安装的包中即可。

    我通过启动一个 docker 容器并手动安装失败的库来手动测试它。通过docker run --rm -it python:3.7-alpine /bin/sh,然后pip install ...apk add ...

    【讨论】:

    • 它仍然给我同样的错误。我做了RUN apk add --update --no-cache postgresql-client jpeg-dev libffi-dev 但仍然是同样的问题
    • 关于这个问题的任何更新?如果你知道如何分享这个问题的解决方案,那就太好了;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-29
    • 2019-03-08
    • 2018-12-26
    • 1970-01-01
    • 2019-10-19
    • 2021-08-06
    • 1970-01-01
    相关资源
    最近更新 更多