Nesta página

Python

A Guara Cloud suporta totalmente aplicacoes Python, incluindo frameworks como Django, Flask, FastAPI e qualquer outro projeto baseado em Python.

Versoes suportadas

As seguintes versoes do Python sao detectadas automaticamente:

  • Python 3.10
  • Python 3.11
  • Python 3.12

A versao e detectada automaticamente a partir dos arquivos de configuracao do seu projeto (por exemplo, pyproject.toml, Pipfile ou .python-version). Se nenhuma versao for especificada, a versao estavel mais recente sera utilizada.

Deploy com Dockerfile

Para ter controle total sobre o build, inclua um Dockerfile na raiz do seu repositorio.

FROM python:3.12-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

EXPOSE 3000

CMD ["gunicorn", "--bind", "0.0.0.0:3000", "app:app"]

Deploy com Buildpack

Se o seu repositorio nao contiver um Dockerfile, a Guara Cloud detecta automaticamente seu projeto Python pela presenca de um requirements.txt, pyproject.toml, Pipfile ou arquivo de dependencias similar.

A deteccao automatica vai:

  1. Detectar a versao do Python pela configuracao do projeto
  2. Detectar seu gerenciador de pacotes (pip, poetry, pdm, uv ou pipenv) e instalar dependencias automaticamente
  3. Detectar seu framework (Django, Flask ou FastAPI)
  4. Configurar automaticamente o servidor de producao — gunicorn para Django/Flask, uvicorn para FastAPI
  5. Iniciar sua aplicacao automaticamente

Nenhum Procfile e necessario — o framework e o servidor sao detectados e configurados automaticamente.

Configuracao de porta

Sua aplicacao deve escutar na porta configurada nas configuracoes do servico. O padrao e 3000, mas voce pode altera-lo a qualquer momento para corresponder a sua aplicacao.

import os

port = int(os.environ.get('PORT', 3000))

Estrutura de projeto exemplo

my-python-app/
  requirements.txt
  runtime.txt          # opcional — especifique a versao do Python se necessario
  app.py
  src/
    routes.py
    models.py
  Dockerfile          # opcional — omita para usar Buildpack

Variaveis de ambiente

Estas variaveis de ambiente sao comumente usadas em deploys Python:

VariavelValor recomendadoDescricao
PYTHONUNBUFFERED1Garante que os logs sejam exibidos em tempo real sem buffer
PORTDefinido pela plataformaA porta na qual sua aplicacao deve escutar
PYTHONDONTWRITEBYTECODE1Impede que o Python crie arquivos .pyc

Erros comuns