Ответ 1
__init__.py
импортируется с использованием каталога. если вы хотите импортировать его как app
, вы должны поместить файл __init__.py
в каталог с именем app
лучший вариант - просто переименовать __init__.py
в app.py
Сначала я создал __init__.py
from flask import Flask
app = Flask(__name__)
Затем в отдельном файле в том же каталоге run.py
from app import app
app.run(
debug = True
)
Когда я пытаюсь запустить run.py
, я получаю сообщение об ошибке
Traceback (most recent call last):
File "run.py", line 1, in <module>
from app import app
ImportError: No module named app
__init__.py
импортируется с использованием каталога. если вы хотите импортировать его как app
, вы должны поместить файл __init__.py
в каталог с именем app
лучший вариант - просто переименовать __init__.py
в app.py
Ваш файл __init__.py
должен находиться в папке с именем app, а не в том же каталоге, что и файл run.py.
from app import app
находится в папке приложения, поэтому файл __init__.py
должен сидеть там.
Вероятно, это ошибка в структуре папок приложения фляги.
Любой, кто ищет простую, удобную для начинающих структуру для проекта колбы, может найти это полезным:
|__movies
|__run.py
|__app
├── templates
│ └── index.html
│ └── signup.html
└── __init__.py
└── routes.py
Здесь "фильмы" - это название основного приложения. Он содержит "run.py" и папку "app". Папка "app" содержит все необходимые файлы фляги, такие как папка "templates", "__init __.py" и "rout.py".
Содержание:
run.py:
from app import app
__init__.py:
from flask import Flask
app = Flask(__name__)
from app import routes
app.run(debug=True)
rout.py:
from app import app
@app.route('/')
@app.route('/index')
def index():
return "Hello, World!"
Убедитесь, что вы установили PYTHONPATH в каталог src/. Пример export PYTHONPATH="$PYTHONPATH: /path/to/your/src"