Функция 'flask run' не может найти код при запуске из исходного каталога, в то время как 'python -m flask run' завершается успешно - PullRequest
0 голосов
/ 05 января 2019

Это не то же самое, что «Для чего нужен ключ -m», так как я говорю о функции, которая работает независимо (колба) и хочу узнать, почему она работает по-другому с -m. Ответы там не решают вопрос.

У меня есть приложение для колб, которое я создаю. Он настроен с помощью подкаталога для кода, поэтому

setup.py
gallery/
   __init.py__
   models.py
   view.py

Когда я запускаю его с помощью 'python -m flask run', это работает. Когда я запускаю его так же, как «колбу беги», это не так. Я не смог найти никого, кто бы знал, какова разница между этими двумя командами, поэтому я застрял.

Вот вывод из «работы с колбой»:

(venv)MacBook-Pro-4:Finished khunter$ export FLASK_APP=gallery
(venv)MacBook-Pro-4:Finished khunter$ flask run
Usage: flask run [OPTIONS]

Error: The file/path provided (gallery) does not appear to exist.  Please      
verify the path is correct.  If app is not on PYTHONPATH, ensure the 
extension is .py

Есть какие-нибудь мысли о том, в чем заключается разница, чтобы я мог надлежащим образом использовать «колбу»?

РЕДАКТИРОВАТЬ: Похоже, я могу пройти через это с помощью pip install - editable, чтобы взять setup.py, который у меня есть.

1 Ответ

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

Не так много различий. Когда вы запускаете python -m flask run, вы запускаете flask/__main__.py.

Когда вы запускаете flask run, вы запускаете flask/cli.py.

Как видите, первый - просто псевдоним второго. Хотя это проходит as_module == True. Причина, по которой он должен быть дополнительно обработан, указана в комментарии. Вы можете проверить это самостоятельно.

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

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