Error : loading ASGI app. Attribute "app" not found in module "main".
Error : loading ASGI app. Attribute "app" not found in module "main".
Olá Matheus, tudo certo? Espero que sim!
Isso geralmente acontece quando o servidor uvicorn não consegue encontrar o app FastAPI em seu módulo 'main'.
A primeira coisa que você precisa verificar é se o seu arquivo 'main.py' está no mesmo diretório em que você está executando o comando uvicorn. Isso porque o uvicorn procura o arquivo 'main.py' no diretório atual.
Depois, verifique se o seu arquivo 'main.py' contém o seguinte código:
from fastapi import FastAPI
app = FastAPI()
@app.get('/api/hello')
def hello_world():
return {'Hello':'World'}
Neste código, app
é uma instância da classe FastAPI e é isso que o uvicorn está procurando. Se você chamou a instância de algo diferente de app
, você precisará alterar o comando uvicorn para corresponder. Por exemplo, se você chamou a instância de application
, você precisaria executar uvicorn main:application --reload
.
Se você verificou tudo isso e o erro persistir, pode ser útil verificar se há algum erro de sintaxe ou de importação em seu arquivo 'main.py'. Qualquer erro nesse arquivo pode fazer com que o uvicorn não consiga encontrar a instância do FastAPI.
Espero ter ajudado!
Caso tenha dúvidas, fico à disposição.
Abraços e bons estudos!