Python Я не могу открыть файл app.py в flask - PullRequest
1 голос
/ 18 июня 2020

Я использовал flask для разработки проекта Python. Было нормально запустить бэкэнд-программу через python3 app.py в каталоге backend_code/. Однако, когда я попробовал его сегодня, он показал

my_user_namedeMBP:backend_code my_user_name$ python3 app.py
 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
 * Restarting with stat
/Library/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python: can't open file '/Users/my_username/folder_name/**project_name/app.py**': [Errno 2] No such file or directory

Вот структура проекта:

+-- folder_name
    +-- project_name
      +-- frontend_code
      |
      +-- backend_code
          +-- app.py

Он хорошо работает, когда я вернулся в каталог folder_name/ и запустил backend_code/python3 app.py но я стараюсь этого не делать, потому что это приведет к неправильному чтению пути к некоторым файлам в моем внутреннем коде. Я не понимаю, что запустил интерпретатор и запустил app.py в каталоге backend_code/, но сообщение об ошибке показывает, что он ищет app.py под project_name/, который, очевидно, не может найти app.py (он находится под project_name/backend_code/ ).

Единственное, что я могу вспомнить, что может вызвать эту проблему, - это то, что я обновил свой пип с 9. * до 12. * (я уже понизил его, но ошибка все еще сохраняется).

Другая информация может быть полезна:

Я использую vscode.

  pip -V => pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
  pip3 -V => pip 9.0.3 from 
   /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (python 3.6) 
  python --version => Python 2.7.15
  python3 --version => Python 3.6.5 

Кто-нибудь может сказать мне, что мне делать? Почему это? Ценю вашу помощь !!

1 Ответ

0 голосов
/ 01 июля 2020

У меня такая же ошибка при использовании приложения Da sh (которое основано на Flask).

Насколько я понял, это может быть связано с sys.path.append в моем несколько файлов .py. Но если у меня нет этого пути, я не могу загрузить некоторые функции в другую папку (которая является помощником БД).

Кто-нибудь знает, как это решить?

Я использую Ubuntu, VS Code и anaconda.

Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ с решением: мне удалось исправить проблему, если я запустил werkzeug run_simple вместо собственного app.run_server который является сервером разработки (как указано выше с предупреждением):

    from werkzeug.serving import run_simple
    run_simple("0.0.0.0", 8050, app.server, use_debugger=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...