Ответ 1
Я столкнулся с той же проблемой при использовании PowerShell, и это исправление работало для меня:
вместо set FLASK_APP = run.py
, попробуйте $env:FLASK_APP = "run.py"
Я пытаюсь выполнить документацию на фляге на моем оконном компьютере, указанном по следующей ссылке: http://flask.pocoo.org/docs/0.11/quickstart/#debug-mode
Во-первых, я написал код ниже в python script:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run(debug=True)
Я сохранил это в файле с именем run.py
Затем написал эту команду в окне команд:
set FLASK_APP = run.py
flask run
При запуске этого процесса я получаю следующую ошибку:
"Error: Could not locate flask application. You did not provide the FLASK_APP environment variable"
Я ожидал получить это вместо:
Running on http://127.0.0.1:5000/
Может кто-нибудь сказать мне, как это исправить?
Я столкнулся с той же проблемой при использовании PowerShell, и это исправление работало для меня:
вместо set FLASK_APP = run.py
, попробуйте $env:FLASK_APP = "run.py"
Если вы используете powershell, это не работает, я не знаю, почему
используйте cmd.exe
так как я использую редактор VScode, он предоставляет powershell в качестве терминала (ctrl+
) по умолчанию, поэтому я пытался запустить флеш-приложение на PowerShell, и это давало мне тот же ответ, что и вы получаете
1) откройте cmd.exe(или если вы VSCode, как я просто пишу cmd
на этом терминале)
2) set FLASK_APP=hello.py
(без пробелов, только для первого запуска, затем он запоминает до перезапуска cmd)
3) flask run
(или будет работать только колба)
note: это только для пользователей Windows
export FLASK_APP=run.py
flask run --host=0.0.0.0
затем может нормально работать, вывести что-то вроде:
* Serving Flask app "hello"
* Forcing debug mode on
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger pin code: 353-795-063
Вы запустили свой терминал в качестве администратора? У меня была та же проблема и запуск cmd/PowerShell, поскольку admin исправил это для меня.
Править: Я говорил слишком рано. Выполнение как admin ничего не делал.
Реальный ответ (по крайней мере, на мою проблему) представляет собой комбинацию некоторых других ответов.
set FLASK_APP = myApp.py
используйте setx FLASK_APP myApp.py
Интересно, почему этого нет в ответе?
Вот простое решение:
добавить app.run (порт = 5000)
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
app.run(port=5000)
а затем в том же каталоге запустить команду
python run.app
Вы должны установить переменную FLASK_APP за пределы виртуальной среды. Я предполагаю, что он работал после того, как @Fang перезапустил командное окно, потому что это действие автоматически вышло из виртуальной среды.
Итак, если вы находитесь в виртуальной среде (обозначенной символом (venv)
в начале строки в окне командной строки), введите следующие команды:
deactivate
set FLASK_APP=run.py
venv\scripts\activate
flask run
Ваш код верен. Попробуйте установить переменную командной строки следующим образом:
setx FLASK_APP run.py
И затем запустите его: flask run
.
Успех с setx FLASK_APP test.py
. Примечание: если не запустить, закройте командную строку и запустите другую.
D:\projects\flask-oauthlibpy2>.evn\Scripts\activate
(.evn) D:\projects\flask-oauthlibpy2>setx FLASK_APP test.py
SUCCESS: Specified value was saved.
(.evn) D:\projects\flask-oauthlibpy2>flask run
* Serving Flask app "flask-oauthlibpy2.test"
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [24/May/2017 14:35:06] "GET / HTTP/1.1" 200 -
Просто опустите пространство вокруг '='!
Через полчаса, чтобы найти решение, я наконец понял, что означает "Вы не указали переменную среды FLASK_APP". Потому что я установил переменную "FLASK_APP" (с пробелом).
Я исправил ту же проблему, закрыв окно команды и перезапустив ее.
имела аналогичную проблему. были решены с помощью следующего: фляжка --no-reload
узнал об этом из документации флагов http://flask.pocoo.org/docs/0.12/server/
У меня была такая же проблема, когда я запускал первый мир hello для фляжки.
В идеале не должно быть места между поэтому используйте установить FLASK_APP = run.py
Просто отбросьте пробел вокруг знака. set FLASK_APP = python_file_name.py
У меня была такая же проблема, но в PowerShell у меня работала следующая команда:
python -m flask run
У меня была такая же проблема с запуском команд, как указано в быстром запуске Flask. использование Powershell на окнах 10
projects>set export FLASK_APP=hello.py
projects>flask run
* Running on http://127.0.0.1:5000/
Мне нужно было набрать python <filename.py>
, находясь в каталоге, содержащем файл с из фляжки импорт Фланец app = Flask (имя)
@app.route('/')
def hello_world():
return 'Hello, World!
после этого вы получите сообщение с IP-адресом в нем
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
вы копируете IP-адрес в своем браузере, а затем к этому моменту вы должны увидеть свое утверждение приветствия.