您好,我正在关注本教程链接。一切工作正常,但当我运行以下命令时,它说未找到枕头,但枕头已安装。docker-compose -f docker-compose.prod.yml exec app python manage.py migrate --noinput这是错误:employee.Employee.image: (fields.E210) Cannot use ImageField because Pillow is not installed. HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "python -m pip install Pillow".students.Student.image: (fields.E210) Cannot use ImageField because Pillow is not installed. HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "python -m pip install Pillow".然后我再次尝试使用以下命令安装docker-compose -f docker-compose.prod.yml exec app python -m pip install Pillow它说枕头是 枕头已安装Requirement already satisfied: Pillow in /usr/local/lib/python3.8/site-packages (6.2.1)这是我的 docker 文件############ BUILDER ############# pull official base imageFROM python:3.8.3-alpine as builder# set work directoryWORKDIR /usr/src/app# set environment variablesENV PYTHONDONTWRITEBYTECODE 1ENV PYTHONUNBUFFERED 1# install psycopg2 dependenciesRUN apk update \ && apk add postgresql-dev gcc python3-dev zlib-dev jpeg-dev musl-dev# lintRUN pip install --upgrade pipRUN pip install PillowCOPY . .# install dependenciesCOPY ./requirements.txt .RUN pip wheel --no-cache-dir --no-deps --wheel-dir /usr/src/app/wheels -r requirements.txt########## FINAL ########### pull official base imageFROM python:3.8.3-alpine# create directory for the app userRUN mkdir -p /home/app# create the app userRUN addgroup -S app && adduser -S app -G app# create the appropriate directoriesENV HOME=/home/appENV APP_HOME=/home/app/webRUN mkdir $APP_HOMERUN mkdir $APP_HOME/staticfilesRUN mkdir $APP_HOME/mediafilesWORKDIR $APP_HOME# install dependenciesRUN apk update && apk add libpqCOPY --from=builder /usr/src/app/wheels /wheelsCOPY --from=builder /usr/src/app/requirements.txt .RUN pip install --no-cache /wheels/*
3 回答
![?](http://img1.sycdn.imooc.com/5f33c0c90001f9ad05720572-100-100.jpg)
白衣非少年
TA贡献1155条经验 获得超0个赞
在该部分下添加这两行FINAL,就在RUN apk update && apk add libpq
# install pillow dependencies
RUN apk add --no-cache jpeg-dev zlib-dev
RUN apk add --no-cache --virtual .build-deps build-base linux-headers
发生这种情况是因为创建映像后BUILDER删除了所需的依赖项。Pillow在FINAL图像中,Pillow可用,但其所需的依赖项不可用。
![?](http://img1.sycdn.imooc.com/5333a1bc00014e8302000200-100-100.jpg)
幕布斯6054654
TA贡献1876条经验 获得超7个赞
我遇到了同样的问题。将这些依赖项添加到 FINAL 部分解决了此问题
# install pillow dependencies
RUN apk add --no-cache jpeg-dev zlib-dev \
fribidi-dev \
harfbuzz-dev \
lcms2-dev \
openjpeg-dev \
tcl-dev \
tiff-dev \
tk-dev
添加回答
举报
0/150
提交
取消