您好,我正在關注本教程鏈接。一切工作正常,但當我運行以下命令時,它說未找到枕頭,但枕頭已安裝。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 回答

白衣非少年
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可用,但其所需的依賴項不可用。

幕布斯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
提交
取消