Контейнер Flask Docker сообщает, что не может найти модуль "Flask" - PullRequest
0 голосов
/ 30 января 2019

Это мой DockerFile:

FROM ubuntu:latest

RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential

COPY . /app
ENV HOME=/app
WORKDIR /app


RUN pip install -r requirements.txt


EXPOSE 8000

ENTRYPOINT ["gunicorn", "-b", "0.0.0.0:8000", "-w", "4", "app:app"]

Все идет гладко. Я вижу в журналах, что все модули устанавливаются через:

pip install -r requirements.txt

покавсякий раз, когда я запускаю:

docker start -ai backend

, он выдает ошибку и говорит:

Traceback (most recent call last):
  File "app.py", line 1, in <module>
    from backend import app
  File "/app/backend/__init__.py", line 1, in <module>
    from flask import render_template, Flask
ImportError: No module named flask

Редактировать: в моем файле needs.txt есть необходимые модули. Я могу запустить команду gunicornиз командной строки, и он прекрасно запускает сервер.

файл Requirements.txt:

certifi==2018.4.16
chardet==3.0.4
click==6.7
Flask==0.12.2
Flask-Cors==3.0.7
Flask-MySQL==1.4.0
gunicorn==19.7.1
idna==2.6
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
PyMySQL==0.9.3
requests==2.18.4
six==1.12.0
urllib3==1.22
Werkzeug==0.14.1

Edit # 2

Я обнаружил, что делает:

sudo docker run -it backend:latest bash

работает, но я не могу зайти на сайт.

1 Ответ

0 голосов
/ 30 января 2019

Попробуйте pip freeze и проверьте, установлен ли Flask в вашей среде.Вы используете Python 2 или Python 3?Я рекомендую вам работать с pip3.Итак, попробуйте с pip3 install -r requirements.txt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...