Ошибка: не удалось найти приложение Flask в VSCode - PullRequest
1 голос
/ 10 октября 2019

Я пытаюсь выучить Flask с использованием VScode.

Учебник, которым я следую, является: Учебник по Python Flask: полнофункциональное веб-приложение, часть 1 - Начало работы .

Я сделал следующие вещи:

  1. Создал новый virtualenv в папке с помощью: virtualenv venv
  2. активировал его как: venv\Scripts\activate (Я в Windows10)

После этого я создал новый каталог с именем Flask_Blog, используя mkdir Flask_Blog, и в нем я создал новый файл flaskblog.py, содержащий следующий код:

from flask import Flask


app = Flask(__name__)


@app.route('/')
def hello():
    return 'Hello'

Затем в терминале VScode я изменил свой рабочий каталог, чтобы оказаться в каталоге Flask_Blog, используя cd Flask_Blog.

Теперь, когда я делаю set FLASK_APP=flaskblog.py, а затемflask run, я получаю следующую ошибку:

(venv) PS C:\Users\kashy\OneDrive\Desktop\Flask\Flask_Blog> flask run
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
Usage: flask run [OPTIONS]

Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory.

Но

Когда я делаю то же самое в приглашении cmd, код запускается и яполучить увидеть результат.

Я совершенно новичок в этом. Может кто-нибудь сказать, пожалуйста, какую ошибку я совершаю в VSCode и почему она работает в cmd?

1 Ответ

2 голосов
/ 10 октября 2019

Проблема возникла в VsCode

В Powershell необходимо установить переменную среды FLASK_APP следующим образом:

$env:FLASK_APP = "webapp"

Затем выдолжен иметь возможность запускать "python -m flask run" внутри папки hello_app. Другими словами, PowerShell по-разному управляет переменными среды, поэтому стандартная командная строка "set FLASK_APP = webapp" не будет работать.

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