В приложении Hello World flask: Flask не может найти приложение - PullRequest
0 голосов
/ 30 мая 2020

Я запускаю минимальное приложение Hello World из документации Flask. Код ниже. Я получаю no module named "flask.hello." Отслеживание тоже ниже. Я хотел бы знать, как указать flask для определения местоположения приложения. Имя исходного файла - hello.py. Ставлю

FLASK_APP='hello.py' and PYTHONPATH="."

Запускаю Flask командой:

flask run --host=0.0.0.0 --port=3000

from flask import Flask
app=Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello world!"
Traceback (most recent call last):
  File "/home/anna_user2/.venv/projects/web-plots/lib/python3.7/site-packages/flask/cli.py", line 240, in locate_app
    __import__(module_name)
ModuleNotFoundError: No module named 'flask.hello'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/anna_user2/.venv/projects/web-plots/lib/python3.7/site-packages/flask/cli.py", line 338, in __call__
    self._flush_bg_loading_exception()
  File "/home/anna_user2/.venv/projects/web-plots/lib/python3.7/site-packages/flask/cli.py", line 326, in _flush_bg_loading_exception
    reraise(*exc_info)
  File "/home/anna_user2/.venv/projects/web-plots/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/home/anna_user2/.venv/projects/web-plots/lib/python3.7/site-packages/flask/cli.py", line 314, in _load_app
    self._load_unlocked()
  File "/home/anna_user2/.venv/projects/web-plots/lib/python3.7/site-packages/flask/cli.py", line 330, in _load_unlocked
    self._app = rv = self.loader()
  File "/home/anna_user2/.venv/projects/web-plots/lib/python3.7/site-packages/flask/cli.py", line 388, in load_app
    app = locate_app(self, import_name, name)
  File "/home/anna_user2/.venv/projects/web-plots/lib/python3.7/site-packages/flask/cli.py", line 250, in locate_app
    raise NoAppException('Could not import "{name}".'.format(name=module_name))
flask.cli.NoAppException: Could not import "flask.hello".

Ответы [ 3 ]

1 голос
/ 31 мая 2020

Мой рабочий каталог назывался «flask», что явно сбивало с толку flask. Когда я переименовал его в flask_dir, все работает.

0 голосов
/ 30 мая 2020

Запустите его вот так из каталога, в котором hello.py:

FLASK_APP='hello.py' PYTHONPATH="." flask run --host=0.0.0.0 --port=3000

В вашем коде есть опечатка:

from flask import Flask
app=Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello world!'
0 голосов
/ 30 мая 2020

Измените FLASK_APP='hello.py' на FLASK_APP='hello'

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