python - meaning - Mensaje de advertencia mientras se ejecuta el matraz
flask wikipedia (6)
Mientras ejecuto el código Flask desde mi línea de comando, aparece una advertencia:
Serving Flask app "hello_flask" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
¿Qué significa esto?
A partir de Flask 1.x, el entorno predeterminado está configurado para producción. Para usar el entorno de desarrollo, cree un archivo llamado .flaskenv y guárdelo en el nivel superior (raíz) del directorio de su proyecto. Establezca el desarrollo FLASK_ENV = en el archivo .flaskenv. También puede guardar el FLASK_APP = myapp.py.
Ejemplo:
myproject / .flaskenv
FLASK_APP=myapp.py
FLASK_ENV=development
Luego, simplemente ejecute esto en la línea de comandos: flask run Eso debería ocuparse de la advertencia.
Como se indica en la documentación del matraz :
Aunque es liviano y fácil de usar, el servidor incorporado de Flask no es adecuado para la producción ya que no se adapta bien y por defecto solo atiende una solicitud a la vez.
Dado que se espera que una aplicación web maneje múltiples solicitudes simultáneas de varios usuarios, Flask le advierte que el servidor de desarrollo no lo hará (de forma predeterminada). Se recomienda usar un servidor de Interfaz de puerta de enlace de servidor web (WSGI) ( numerosas posibilidades se enumeran en los documentos de implementación con instrucciones adicionales para cada uno ) que funcionarán como su servidor web / de aplicaciones y llamarán a Flask cuando atienda las solicitudes.
En configuraciones o configuraciones puede agregar este código: ENV = ""
Igual que si intentas agregar el conjunto de depuración a true como este DEBUG = True
para más detalles puede consultar este http://flask.pocoo.org/docs/1.0/config/#ENV
He estado usando el matraz desde hace bastante tiempo, y hoy, de repente, apareció esta advertencia. Encontré esto.
Como se mencionó here , a partir de la versión 1.0 del matraz, el entorno en el que se ejecuta una aplicación del matraz está configurado por defecto en producción. Si ejecuta su aplicación en una versión anterior del frasco, no verá esta advertencia.
Nuevo en la versión 1.0.
Registro de cambios
El entorno en el que se ejecuta la aplicación Flask se establece mediante la variable de entorno FLASK_ENV. Si no se configura por defecto a producción. El otro entorno reconocido es el desarrollo. El matraz y las extensiones pueden optar por habilitar comportamientos basados en el entorno.
Para eliminar "No usar el servidor de desarrollo en un entorno de producción". advertencia, ejecute:
exportar FLASK_ENV = desarrollo
antes de flask run
.
Prueba gevent:
from flask import Flask
from gevent.pywsgi import WSGIServer
app = Flask(__name__)
@app.route(''/api'', methods=[''GET''])
def index():
return "Hello, World!"
if __name__ == ''__main__'':
# Debug/Development
# app.run(debug=True, host="0.0.0.0", port="5000")
# Production
http_server = WSGIServer(('''', 5000), app)
http_server.serve_forever()
Nota: Instale gevent usando pip install gevent