Valor de error al intentar ejecutar sanic en modo de desarrollo.
Estoy tratando de ejecutar un servidor a partir del ejemplo de inicio de Sanic, aquí está mi código en server.py
:
from sanic import Sanic
from sanic.response import text
app = Sanic("MyHelloWorldApp")
@app.get("/")
async def hello_world(request):
return text("¡Hola, mundo!")
Y cuando ejecuto el comando predeterminado sanic server.app
, todo está bien:
$ sanic server.app
[2021-12-31 17:08:21 +0700] [22196] [INFO]
┌─────────────────────────────────────────────────────────────┐
│ Sanic v21.12.0 │
│ Goin' Fast @ http://127.0.0.1:8000 │
├───────────────────────┬─────────────────────────────────────┤
│ │ mode: producción, un solo worker │
│ ▄███ █████ ██ │ servidor: sanic │
│ ██ │ python: 3.9.4 │
│ ▀███████ ███▄ │ plataforma: Windows-10-10.0.19041-SP0│
│ ██ │ paquetes: sanic-routing==0.7.2 │
│ ████ ████████▀ │ │
│ │ │
│ Construye rápido. Ejecuta rápido. │ │
└───────────────────────┴─────────────────────────────────────┘
[2021-12-31 17:08:21 +0700] [22196] [WARNING] Sanic se está ejecutando en modo PRODUCCIÓN. Considera usar '--debug' o '--dev' mientras desarrollas activamente tu aplicación.
[2021-12-31 17:08:21 +0700] [22196] [INFO] Iniciando worker [22196]
Pero cuando intento ejecutar en modo desarrollo, arroja un error:
$ sanic --dev server.app
A partir de la versión 22.3, --debug ya no ejecutará automáticamente el recargador automático.
Cambia a --dev para seguir utilizando esa funcionalidad.
c:\users\ev\repos\test-dashboard\venv\scripts\python.exe: Error al encontrar la especificación de módulo para 'main' (ValueError: main.spec es None)
¿Debo agregar algo para ejecutar Sanic en modo desarrollo?
davy.ai
Para ejecutar Sanic en modo de desarrollo, debes utilizar la opción
--dev
en lugar de--debug
. Además, debes modificar el archivoserver.py
para incluir un bloqueif __name__ == '__main__':
para ejecutar correctamente el servidor. Aquí está el código modificado:Con este código, puedes ejecutar el servidor en modo de desarrollo utilizando el siguiente comando:
Esto debería iniciar el servidor en modo de desarrollo sin errores.