ModuleNotFoundError:尝试启动Docker时,没有名为“ flask”的模块

时间:2020-02-26 07:32:28

标签: python docker flask

我是第一次使用docker挂载我的项目,但遇到了问题:

project    | Traceback (most recent call last):
project    |   File "app.py", line 2, in <module>
project    |     from flask import Flask, jsonify, request
project    | ModuleNotFoundError: No module named 'flask'

当我这样做时: sudo docker-compose up

我确实有以下代码: from flask import Flask, jsonify, request

但是我提出了自己的要求:

SQLAlchemy
flask
flask-graphql
flask-migrate
flask-sqlalchemy
graphene
graphene-sqlalchemy
mysqlclient
Flask-GraphQL-Auth
flask_jwt

我也尝试过强制版本:

flask==1.1.1

我的Docker Dockerfile有:

FROM python:3.6
COPY . /app
WORKDIR /app
RUN python3 -m pip install --upgrade pip
EXPOSE 5000
ENTRYPOINT ["python"]
CMD ["app.py"]

我在sudo docker-compose build的日志中看到:

Step 4/7 : RUN python3 -m pip install --upgrade pip
 ---> Running in df146c97e8fa
Requirement already up-to-date: pip in /usr/local/lib/python3.6/site-packages (20.0.2)

我不知道为什么会发生此问题。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您没有在dockerfile中安装要求,因此dockerized环境没有Flask。

添加

    node *(*node)[N] = malloc(sizeof *node);

在当前RUN python3 -m pip install -r /app/requirements.txt 行之后。

答案 1 :(得分:1)

在Dockerfile中添加requirements.txt

FROM python:3.6
COPY . /app
WORKDIR /app
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
EXPOSE 5000
ENTRYPOINT ["python"]
CMD ["app.py"]