Capítulo 3.1: Instalação do FastAPI e Configuração do Ambiente
Tempo de estudo: 45 minutos
1. O que é FastAPI? O Hipermotor para APIs
Se Flask é uma sonda de reconhecimento manobrável e Django é uma enorme nave-mãe, então FastAPI é um caça supersônico.
FastAPI é um framework web moderno e de alto desempenho para a criação de APIs em Python 3.7+. Suas principais vantagens são:
- Velocidade: Um dos frameworks Python mais rápidos, comparável a NodeJS e Go.
- Simplicidade: Sintaxe minimalista e intuitiva.
- Auto-documentação: Gera automaticamente documentação interativa para sua API.
- Tipagem: Utiliza dicas de tipo padrão do Python para validação, autocompletar e documentação.
💡 Analogia Espacial:
FastAPI é como o "hipermotor" para sua nave-API. Ele é baseado em duas tecnologias:
- Starlette (chassi do caça) — oferece assincronicidade e altíssimo desempenho.
- Pydantic (computador de bordo) — responsável pela validação de dados e configurações.
2. Preparando a Plataforma de Lançamento: Ambiente Virtual
Antes de construir nosso caça, precisamos criar um laboratório de montagem estéril. Em Python, isso é feito usando ambientes virtuais.
Por que isso é necessário? Para que as dependências do nosso projeto (motores, sistemas de navegação) não entrem em conflito com outros projetos no seu computador.
Passo 1: Criando o ambiente virtual
Abra o terminal na pasta do seu projeto (por exemplo, C:\Projects\FastAPI_Fleet
) e execute:
venv
com uma versão isolada do Python.
Passo 2: Ativando o "campo de força" do laboratório
- Windows (PowerShell):
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
)
- Windows (CMD):
- macOS / Linux:
(venv)
aparecerá no início da linha do terminal. Isso significa que você está dentro do seu laboratório!
3. Instalação do Motor: FastAPI e Uvicorn
Agora vamos instalar dois componentes chave:
- fastapi: O próprio framework.
- uvicorn: Um servidor ASGI ultrarrápido que irá "ligar" nosso motor.
Execute no ambiente ativado:
💡 Por que
[all]
? Isso instalaráfastapi
,uvicorn
e outros pacotes úteis (por exemplo, para suporte a websockets e Jinja2), que serão úteis em missões futuras.
Verificação da instalação:
Você deverá verfastapi
, pydantic
, starlette
, uvicorn
e outros pacotes na lista.
4. Primeiro Contato: O Arquivo main.py
Crie um arquivo main.py
na raiz do projeto — este será o painel de controle central da nossa API.
Adicione o seguinte código a main.py
:
from fastapi import FastAPI
# Criamos uma instância da nossa "nave espacial" API
app = FastAPI()
# Definimos o primeiro "nó de acoplagem" (endpoint)
# Este é o URL raiz: /
@app.get("/")
def read_root():
"""
Esta é a mensagem do Centro de Comando, visível para todos
que se conectam à porta principal.
"""
return {"message": "Bem-vindo ao Centro de Comando da Frota Espacial!"}
@app.get("/")
: Este é um decorador que informa ao FastAPI que a função read_root
deve lidar com requisições GET
para o URL raiz (/
).
5. Ignição! Iniciando o Servidor
Chegou a hora de ligar nosso hipermotor! No terminal (com o venv
ativo), execute:
uvicorn
: Iniciamos o servidor Uvicorn.main
: O arquivomain.py
(sem o.py
).app
: O objetoapp = FastAPI()
, criado dentro demain.py
.--reload
: "Piloto automático". O servidor será reiniciado automaticamente a cada alteração no código.
Saída esperada no terminal:
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [12345]
INFO: Started server process [12346]
INFO: Waiting for application startup.
INFO: Application startup complete.
6. Verificação de Conexão com o Centro de Comando
Sua API está agora online e escutando na porta 8000
!
Passo 1: Verificação no navegador
Abra o endereço http://127.0.0.1:8000
no navegador. Você deverá ver:
Passo 2: Olhando para o futuro (auto-documentação)
FastAPI já criou dois presentes para você. Abra estes URLs:
http://127.0.0.1:8000/docs
: Documentação interativa Swagger UI.http://127.0.0.1:8000/redoc
: Documentação alternativa ReDoc.
Você verá seu primeiro endpoint, que pode ser testado diretamente do navegador!
Quiz para Fixação
🚀 Resumo do Capítulo:
Você montou e iniciou com sucesso o "hipermotor" da sua nova API! Agora você tem:
- 🛠️ Ambiente de desenvolvimento isolado (venv
)
- 🚀 FastAPI e servidor Uvicorn instalados
- 🛰️ API em funcionamento com um endpoint
- 📊 Documentação gerada automaticamente
Todos os sistemas em ordem! No próximo capítulo, criaremos nosso primeiro endpoint completo, que retornará uma lista de naves espaciais.
📌 Verificação:
- No terminal, o ambiente
(venv)
está ativo- O servidor
uvicorn
está rodando sem erros- O endereço
http://127.0.0.1:8000/docs
abre no navegador⚠️ Em caso de erros:
command not found
: Certifique-se de que ativou o ambiente virtual.Port ... is already in use
: Outro programa está usando a porta 8000. Pare-o ou inicie o uvicorn em outra porta:uvicorn main:app --reload --port 8001
.- Erros ao ativar
venv
no PowerShell: Verifique a política de execução de scripts.