У меня есть проект фляги, работающий на Pycharm
flask-app\
app\
Database.py
static\
tempalates\
home.html
objects.html
template.html
app.py
requirements.txt
ven\
Dockerfile
Я хотел бы докеризировать существующий проект в Pycharm. Я попытался добавить новый интерпретатор, как здесь, Docker-Compose: запуск Flask и запуск , но у меня не получилось.
Я создал файл Docker и попытался запустить его вконтейнер, и вот что я получил:
web_1 | Traceback (most recent call last):
web_1 | File "/usr/local/lib/python3.7/site-packages/flask/cli.py", line 240, in locate_app
web_1 | __import__(module_name)
web_1 | File "/opt/project/app/app.py", line 4, in <module>
web_1 | from app import Database
web_1 | ImportError: cannot import name 'Database' from 'app' (/opt/project/app/app.py)
Очевидно, что что-то не так с распознаванием приложения папки, в котором существует app.py.
Вот моя конфигурация файла докера:
FROM python:3
EXPOSE 5000
MAINTAINER Khalil Mebarkia
COPY app /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD python app.py
И app.py
from flask import Flask, render_template, request
import math
from flask_bootstrap import Bootstrap
from app import Database
db = r'database.db'
app = Flask(__name__)
bootstrap = Bootstrap(app)
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0")
@app.route("app/")
def home():
return render_template("home.html")