3
respostas

[Bug] The term 'uvicorn' is not recognized as the name of a cmdlet

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Não estou conseguindo solucionar este problema quando rodo o uvicorn main:app --reload

uvicorn : The term 'uvicorn' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included,
verify that the path is correct and try again.
At line:1 char:1

  • uvicorn main:app --reload
  •   + CategoryInfo          : ObjectNotFound: (uvicorn:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException
    
3 respostas

Olá, Igor! Como vai?

O erro indica que o comando uvicorn não esta disponível no PATH do seu ambiente, mesmo com o pacote instalado via pip.

No Windows, quando o Python e instalado no modo user, o executável do uvicorn fica dentro da pasta Scripts, que normalmente não está configurada no PATH.

Pontos importantes para resolver:

Opcao 1 – Executar o uvicorn usando python -m (mais simples e recomendado)
Veja este exemplo:


python -m uvicorn main:app --reload

Esse comando chama o uvicorn como modulo do Python, evitando o problema de PATH.
Ele inicia o servidor e recarrega automaticamente ao alterar o codigo.

Opcao 2 – Adicionar a pasta Scripts ao PATH do Windows
Resolva fazendo o seguinte:

  1. Copie o caminho parecido com este:

    
    C:\Users\igor_bairros\AppData\Roaming\Python\Python312\Scripts
    
  2. No Windows, abra:

    
    Configurações > Sistema > Sobre > Configurações avançadas do sistema
    
  3. Em Variáveis de Ambiente, edite a variável Path e adicione esse caminho.

  4. Feche o terminal, abra novamente e rode:

    
    uvicorn main:app --reload
    

Esse comando sobe a API FastAPI usando o arquivo main.py e o objeto app, permitindo testes locais no navegador.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Obrigado, pelo update, sobre
python -m uvicorn main:app --reload
me da o seguinte erro.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

ERROR: Error loading ASGI app. Could not import module "main".

Não tenho permissão de ADM dificultando muito minha situação, não consigo mudar o path do sistema

Oi, Igor!

O erro "Could not import module 'main'" acontece quando o Python não encontra o arquivo main.py no diretório atual ou quando o objeto app não está definido corretamente. Resolva fazendo o seguinte, na ordem:

  1. Garanta que você está na pasta correta do projeto
    No terminal, navegue até a pasta onde o arquivo main.py realmente está antes de rodar o comando.

    
    cd caminho/da/sua/pasta/do/projeto
    
  2. Confirme o nome do arquivo
    O arquivo precisa se chamar exatamente main.py (sem .txt, .py.py ou outro sufixo).

  3. Verifique se o objeto app existe no main.py
    Dentro do arquivo main.py, o código deve conter a criação explícita do app do FastAPI.

    
    from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def home():
return {"status": "ok"}

  1. Execute o comando novamente a partir da pasta correta
    
    python -m uvicorn main:app --reload
    

Seguindo esses passos, o Python consegue localizar o módulo main e o objeto app, permitindo que o servidor suba corretamente, sem necessidade de permissão de administrador ou ajuste de PATH.

Fico à disposição.