Skip to content

Instantly share code, notes, and snippets.

@JoaoRoccella
Created March 3, 2026 13:28
Show Gist options
  • Select an option

  • Save JoaoRoccella/c773d45a9ee9b3c0856b27270355df44 to your computer and use it in GitHub Desktop.

Select an option

Save JoaoRoccella/c773d45a9ee9b3c0856b27270355df44 to your computer and use it in GitHub Desktop.
Passo a passo para publicar minha aplicação Python (Flask) no PythonAnyWhere

Deploy de uma aplicação Python (Flask) no PythonAnyWhere

  1. Limpar o código

    • Eliminar comentários desnecessários
    • Quebrar linhas longas (maiores que o limite de colunas)
    • Eliminar rotas desnecessárias
    • Eliminar arquivos de testes e outros desnecessários (pycache, testes.py, etc.)
    • Ajustar o .gitignore
    • Provisionar a estrutura de diretórios (automatizar)
      data_dir = os.path.join(os.getcwd(), "data")
      
      if not os.path.exists(data_dir):
          os.makedirs(data_dir, exist_ok=True)
    • Congelamento das dependências (requirements):
      pip freeze > requirements.txt
    • Detalhamento das variáveis de ambiente no .env.example:
      DATABASE='' # Caminho para o seu banco de dados SQLite3. Exemplo: DATABASE='./data/meubanco.db3'
  2. Versionar o projeto no repositório remoto:

    git add .
    git commit -m "build: preparação do projeto para deploy"
    git push
    
  3. Teste de clonagem: clone seu projeto em outro diretório para verificar se ele é passível de deploy automatizado.

  4. Crie e acesse sua conta no PythonAnyWhere

  5. Crie um console do tipo Bash

  6. Faça a clonagem do repositório remoto:

    git clone <url_do_repo_remoto>
    
  7. Entre no diretório clonado. Exemplo:

    cd agenda/
  8. Crie o ambiente virtual, de acordo com a versão do Python utlizada no seu projeto:

    mkvirtualenv --python=/usr/bin/python3.12 agenda-venv

    Substitua a versão do python conforme necessário.

  9. Instale as dependências do seu projeto:

    pip install -r requirements.txt
  10. Na aba "Web", clique no botão "Add a new web app"

  11. NÃO SELECIONE "FLASK", pois essa opção vai sobrescrever o seu projeto já criado. Selecione Manual Configuration.

  12. Siga o passo a passo, selecionando apenas a versão do Python (a mesma do ambiente virtual).

  13. Na página de configuração do web app (substitua <seu-nome-de-usuario> pelo seu nome de usuário do PythonAnyWhere e <seu-repositorio-clonado> pelo nome do diretório onde você clonou seu projeto):

    • Code:
      • Source code: '/home/<seu-nome-de-usuario>/<seu-repositorio-clonado>' -> CONFIRME
      • Working directory: '/home/<seu-nome-de-usuario>/<seu-repositorio-clonado>' -> CONFIRME
    • Virtualenv:
      • Digite o nome do diretório do ambiente virtual gerado e CONFIRME (o caminho completo será carregado automaticamente)
    • WSGI Configuration file:
      import sys
      import os
      
      path='/home/<seu-nome-de-usuario>/<seu-repositorio-clonado>'
      
      if path not in sys.path:
          sys.path.append(path)
          
      os.chdir(path)
      
      from app import app as application
  14. Volte à aba Web e clique no botão 🔃 Reload ...

  15. ❤️ Pronto! Sua aplicação estará disponível em https://<seu-nome-de-usuario>.pythonanywhere.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment