【发布时间】:2020-07-08 07:16:27
【问题描述】:
我在 docker 中运行 python 并遇到 ModuleNotFoundError: No module named 'flask' 错误消息。有什么想法我在 Dockerfile 或要求中缺少什么?
FROM python:3.7.2-alpine
RUN pip install --upgrade pip
RUN apk update && \
apk add --virtual build-deps gcc python-dev
RUN adduser -D myuser
USER myuser
WORKDIR /home/myuser
COPY --chown=myuser:myuser ./requirements.txt /home/myuser/requirements.txt
RUN pip install --no-cache-dir --user -r requirements.txt
ENV PATH="/home/myuser/.local/bin:${PATH}"
COPY --chown=myuser:myuser . .
ENV FLASK_APP=/home/myuser/app.py
CMD ["python", "app.py"]
~
在 app.py 中我使用这一行
from flask import Flask, jsonify
要求看起来像这样
Flask==0.12.5
【问题讨论】:
-
我没有看到 Dockerfile 中使用 pip 安装了烧瓶。
-
int's in this line RUN pip install --no-cache-dir --user -r requirements.txt
-
flask 已安装在您的用户目录中,但是 python 可以看到 flask 模块的路径吗?
-
我怀疑这条线
COPY --chown=myuser:myuser ./requirements.txt /home/myuser/requirements.txt应该是COPY --chown=myuser:myuser requirements.txt /home/myuser/requirements.txt并且更好地重建 docker 映像