Env. Variables no establecidas mientras se ejecuta la aplicación Minimal Flask

Estoy intentando seguir la documentación del matraz en mi máquina de Windows que se encuentra en el siguiente enlace: http://flask.pocoo.org/docs/0.11/quickstart/#debug-mode

En primer lugar escribí el siguiente código en un script de python:

from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run(debug=True) 

run.py esto en un archivo llamado run.py

Luego escribió este comando en la ventana de comandos:

 set FLASK_APP = run.py flask run 

Al ejecutar esto, recibo el siguiente error:

"Error: Could not locate flask application. You did not provide the FLASK_APP environment variable"

Esperaba conseguir esto en su lugar:

 Running on http://127.0.0.1:5000/ 

¿Alguien puede decirme cómo solucionar esto?

Enfrenté el mismo problema al usar PowerShell y esa solución funcionó para mí:
en lugar de usar el set FLASK_APP = run.py , intente $env:FLASK_APP = "run.py"

Si está usando powershell, no funciona, no sé por qué use cmd.exe ya que uso el editor de VScode. Proporciono powershell como terminal ( ctrl+ ) de manera predeterminada, así que estaba intentando ejecutar la aplicación matraz en el powershell y me estaba dando la misma respuesta que está recibiendo

1) abra cmd.exe (o si es usuario de VSCode como yo, simplemente escriba cmd en ese terminal)

2) set FLASK_APP=hello.py (sin espacios, solo para la primera ejecución y luego recuérdelo hasta que reinicie cmd)

3) flask run (o simplemente el matraz también funcionará)

nota: esto es solo para usuarios de windows

  1. export FLASK_APP=run.py
  2. flask run --host=0.0.0.0

luego puede ejecutarse normalmente, dar salida a algo como:

  * 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 

¿Ejecutó su terminal como administrador? Tuve el mismo problema, y ​​ejecutar cmd / PowerShell como administrador lo solucionó.

Edit: hablé demasiado pronto. Ejecutar como administrador no hizo nada.

La respuesta real (a mi problema, al menos) es una combinación de algunas de las otras respuestas.

  1. En lugar de usar set FLASK_APP = myApp.py , use setx FLASK_APP myApp.py
  2. Reinicie el terminal, y FLASK_APP tendrá el nuevo valor

Me pregunto por qué esto falta en la respuesta.

Aquí hay una solución simple:

agregar app.run (puerto = 5000)

 from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run(port=5000) 

y luego en el mismo directorio ejecuta el comando

 python run.app 

Debe establecer la variable FLASK_APP fuera del entorno virtual. Supongo que la razón por la que funcionó después de que @Fang reinició la ventana de comandos es porque esa acción salió automáticamente del entorno virtual.

Entonces, si estás en el entorno virtual (indicado por un (venv) al comienzo de la línea en la ventana de comandos), escribe los siguientes comandos:

 deactivate set FLASK_APP=run.py venv\scripts\activate flask run 

Éxito con setx FLASK_APP test.py Nota: si no se ejecuta, cierre la línea de comando e inicie otra.

 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 - 

Simplemente suelta el espacio alrededor de ‘=’!

Después de media hora de búsqueda de una solución, finalmente obtengo lo que significa ‘No proporcionó la variable de entorno FLASK_APP’. Porque lo que establezco es la variable ‘FLASK_APP’ (con espacio).

Su código es correcto. Intente configurar la variable de línea de comandos de esta manera:

 setx FLASK_APP run.py 

Y luego ejecutarlo: flask run .

Solucioné el mismo problema cerrando la ventana de comandos y reiniciándola.

Tenía un problema similar. se resolvió utilizando lo siguiente: flask run –no-reload

aprendí esto de la documentación del matraz http://flask.pocoo.org/docs/0.12/server/

Tuve el mismo problema mientras ejecutaba el primer mundo de saludo para el matraz.

Idealmente, no debería haber ningún espacio entre, así que use set FLASK_APP = run.py

Estaba teniendo el mismo problema al ejecutar los comandos como se indica en el inicio rápido de Flask. usando PowerShell en Windows 10

 projects>set export FLASK_APP=hello.py projects>flask run * Running on http://127.0.0.1:5000/ 

Necesitaba escribir python mientras estaba en el directorio que contiene el archivo desde la aplicación de matraz import Flask = Flask ( nombre )

 @app.route('/') def hello_world(): return 'Hello, World! 

Después de eso, recibirá un mensaje con una dirección IP.

  * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 

Copia la dirección IP en su navegador y en ese momento debería ver su statement de hello world.