Flask "ошибка: предоставленный файл/путь не существует", хотя файл существует

Я использую export FLASK_APP=flask_app а потом сделай flask run но я получаю ошибку:

ошибка: предоставленный файл/путь (flask_app) не существует. Проверьте правильность пути. Если приложение не находится на PYTHONPATH, убедитесь, что расширение .py

, файл тут существует и даже находится в настоящем рабочем каталоге. Использование полного пути к файлу также не работает.

7 ответов


такая ситуация возникает, когда у вас есть ImportError который не распространяется до вашего терминала. Проверка все ваших файлов для недопустимых операторов импорта, исправить их, и ошибка должна исчезнуть.

изменить 2017-04-02: @Michael указал, что моя ссылка теперь помещена под тегом "старое сообщение часть 2" неверна. Я не знаю, как эта ошибка возникла, но я нашел очень недавний пост на Фляжка Github где ссылка в commit это должно было исправить проблему 30 декабря 2016 года. Вероятно, в то время я действительно запускал более старую версию фляги.

СТАРОЕ СООБЩЕНИЕ ЧАСТЬ 2: Этот вопрос обсуждается на Фляжка Github, хотя я не уверен, когда и даже было ли это на самом деле исправлено, так как я все еще сталкиваюсь с ошибкой сегодня, хотя я загрузил колбу после слияния исправления, описанного на этой странице (12 Aug 2016).


сообщение об ошибке из колбы версии 0.x при работе с переменными среды просто обновите колбу до версии 1.x.

pip install -U flask

Я вижу эту ошибку, когда мне не хватает import заявление где-то в моем коде. Тот факт, что фактическая ошибка импорта не отображается, на мой взгляд, является ошибкой, как описано в @PDiracDelta ответ. (обновление: кажется, он будет исправлен в колбе 0.13.)

обходной путь, который работает для меня, указывает приложение в командной строке. Из сообщения об ошибке, которое вы процитировали, похоже, что ваше приложение называется "flask_app", поэтому просто введите это:

python flask_app.py

это фактически не будет запускать приложение (если оно не проверяет if __name__ == '__main__' или что-то еще), но он покажет ошибки импорта.


это сообщение произойдет, если вы выдадите flask run в командной строке. Вместо этого используйте python -m flask run после установки export FLASK_APP и export FLASK_ENV переменные. Я столкнулся с этой проблемой, следуя руководству по колбе при создании фабрики приложений. В инструкции не указывается предисловие flask run с python -m.


пожалуйста, выполните следующие действия:

  1. убедитесь, что вы уже сделали с [pip install --editable . ]. где.' "представляет расположение каталога, в котором установлено ваше приложение. е.г(flask_app)

  2. запустить python Он откроет интерпретатор python командной строки

  3. попробуйте импортировать приложение flask Если его там ошибка, вы получите подробную ошибку. Попробуйте исправить эту ошибку.

Я побежал в ту же проблему и выполнили описанные выше шаги и обнаружили, что в запущенном коде есть ошибка. Интерпретатор показывает ошибку компиляции.


версия werkzeug не подходит для колбы. Для решения этой проблемы необходимо обновить werkzeug, использовать: $pip install werkzeug --upgrade


же вопрос здесь на шаге 5 колбы учебник: http://flask.pocoo.org/docs/0.12/tutorial/dbinit/.

то, что я сделал, это

1) внутри виртуальной среды удалите пакет с помощью pip uninstall flaskr

2) деактивируйте виртуальную среду, затем активируйте ее с помощью deactivate затем source bin/activate

3) переустановите пакет flaskr с помощью pip install --editable .

4) сбросьте переменные env на export FLASK_APP=flaskr

5) Теперь делаем flask run и нажмите localhost: 5000 в браузере генерирует ошибку 404 (нет представления, как ожидалось) вместо ошибки 500 (файл не найден).

или flask initdb запускает