.gitignore para Python

95 regras de exclusão para Python, prontas a copiar para o seu repositório.

A linguagem de programação Python

O .gitignore completo para Python

# Gerado pelo LFGitignore - https://lfgitignore.com
# Criado: 2026-10-13 16:10:40 UTC
# Tecnologias: Python

### Python ###
# Diretório de cache de bytecode Python
__pycache__/
*.py[codz]
# Ficheiros de classes Python/Jython
*$py.class
# Perfil predefinido do IPython
profile_default/
# Objeto partilhado
*.so
# Configuração do IPython
ipython_config.py
# Marcador de versão Python
.Python
# Diretório de resultados de compilação
build/
# Pacotes egg de desenvolvimento Python
develop-eggs/
# Diretório de distribuição
dist/
# Ficheiros descarregados
downloads/
# Pacotes egg Python
eggs/
# Diretório de pacotes egg Python
.eggs/
# Diretório de bibliotecas
lib/
# Diretório de bibliotecas de 64 bits
lib64/
# Componentes do Buildout
parts/
# Distribuição de código-fonte Python
sdist/
var/
# Pacotes wheel Python
wheels/
# Pacotes wheel Python partilhados
share/python-wheels/
# Metadados de pacotes Python
*.egg-info/
# Configuração instalada do Buildout
.installed.cfg
# Pacote egg Python
*.egg
# Ficheiro de manifesto Python
MANIFEST
# Ficheiros de manifesto
*.manifest
# Ficheiro de especificação do PyInstaller
*.spec
# Registo de instalação do pip
pip-log.txt
# Ficheiro marcador do pip
pip-delete-this-directory.txt
# Relatório HTML de cobertura
htmlcov/
# Ambientes de testes tox
.tox/
# Ambientes de testes nox
.nox/
# Ficheiro de dados de cobertura
.coverage
# Ficheiros de dados de cobertura
.coverage.*
# Diretório de cache
.cache
# Resultados de testes Nose
nosetests.xml
# Relatório XML de cobertura
coverage.xml
# Código-fonte anotado com cobertura
*.cover
*.py.cover
# Dados de cobertura LCOV
*.lcov
# Dados de testes do Hypothesis
.hypothesis/
# Diretório de cache do pytest
.pytest_cache/
# Relatórios de cobertura
cover/
# Catálogos de mensagens compilados
*.mo
# Modelo de catálogo de mensagens
*.pot
# Ficheiro de registo
*.log
# Definições locais do Django
local_settings.py
# Base de dados SQLite
db.sqlite3
# Diário SQLite
db.sqlite3-journal
# Pasta de instância do Flask
instance/
# Cache do Flask-Assets
.webassets-cache
# Cache do Scrapy
.scrapy
# Resultados de compilação do Sphinx
docs/_build/
# Diretório do PyBuilder
.pybuilder/
# Diretório de compilação do Maven
target/
# Pontos de controlo do Jupyter notebook
.ipynb_checkpoints
.pdm-python
.pdm-build/
.pixi/*
# Pacotes PEP 582
__pypackages__/
!.pixi/config.toml
# Ficheiro PID do Celery beat
celerybeat.pid
# Ficheiros compilados do Sage
*.sage.py
celerybeat-schedule*
# Variáveis de ambiente
.env
*.rdb
.envrc
*.aof
# Ambiente virtual Python
.venv
# Ficheiro de identificador de processo
*.pid
# Diretório do ambiente virtual
env/
mnesia/
# Diretório do ambiente virtual
venv/
rabbitmq/
# Cópia de segurança do ambiente
env.bak/
rabbitmq-data/
activemq-data/
# Cópia de segurança do ambiente virtual
venv.bak/
# Projeto Spyder
.spyderproject
# Definições do projeto Spyder
.spyproject
# Refatoração Python com rope
.ropeproject
/site
# Cache do verificador de tipos mypy
.mypy_cache/
# Configuração do serviço mypy
.dmypy.json
# Configuração do serviço mypy
dmypy.json
# Verificador de tipos Pyre
.pyre/
# Analisador estático pytype
.pytype/
# Símbolos de depuração do Cython
cython_debug/
.abstra/
.ruff_cache/
.pypirc
marimo/_static/
marimo/_lsp/
__marimo__/
.streamlit/secrets.toml
tempCodeRunnerFile.py

O que estas regras de Python ignoram

Veja abaixo cada padrão e a razão para o incluir no seu .gitignore.

Ficheiros compilados em bytecode / otimizados / DLL

Padrão O que ignora
__pycache__/ Diretório de cache de bytecode Python
*.py[codz] Ficheiros compilados em bytecode / otimizados / DLL
*$py.class Ficheiros de classes Python/Jython

IPython

Padrão O que ignora
profile_default/ Perfil predefinido do IPython
ipython_config.py Configuração do IPython
.pdm-python pdm: tal como com Pipfile.lock, recomenda-se geralmente incluir pdm.lock no controlo de versões. O pdm recomenda incluir a configuração de todo o projeto em pdm.toml, mas excluir .pdm-python. https://pdm-project.org/en/latest/usage/project/#working-with-version-control pdm.lock pdm.toml
.pdm-build/ IPython
.pixi/* pixi: tal como com Pipfile.lock, recomenda-se geralmente incluir pixi.lock no controlo de versões. pixi.lock O Pixi cria um ambiente virtual no diretório .pixi, tal como o módulo venv o cria em .venv. Recomenda-se não incluir este diretório no controlo de versões.
!.pixi/config.toml IPython

Extensões C

Padrão O que ignora
*.so Objeto partilhado

Distribuição / empacotamento

Padrão O que ignora
.Python Marcador de versão Python
build/ Diretório de resultados de compilação
develop-eggs/ Pacotes egg de desenvolvimento Python
dist/ Diretório de distribuição
downloads/ Ficheiros descarregados
eggs/ Pacotes egg Python
.eggs/ Diretório de pacotes egg Python
lib/ Diretório de bibliotecas
lib64/ Diretório de bibliotecas de 64 bits
parts/ Componentes do Buildout
sdist/ Distribuição de código-fonte Python
var/ Distribuição / empacotamento
wheels/ Pacotes wheel Python
share/python-wheels/ Pacotes wheel Python partilhados
*.egg-info/ Metadados de pacotes Python
.installed.cfg Configuração instalada do Buildout
*.egg Pacote egg Python
MANIFEST Ficheiro de manifesto Python
*.manifest Ficheiros de manifesto
*.spec Ficheiro de especificação do PyInstaller

Registos do instalador

Padrão O que ignora
pip-log.txt Registo de instalação do pip
pip-delete-this-directory.txt Ficheiro marcador do pip

Relatórios de testes unitários / cobertura

Padrão O que ignora
htmlcov/ Relatório HTML de cobertura
.tox/ Ambientes de testes tox
.nox/ Ambientes de testes nox
.coverage Ficheiro de dados de cobertura
.coverage.* Ficheiros de dados de cobertura
.cache Diretório de cache
nosetests.xml Resultados de testes Nose
coverage.xml Relatório XML de cobertura
*.cover Código-fonte anotado com cobertura
*.py.cover Relatórios de testes unitários / cobertura
.hypothesis/ Dados de testes do Hypothesis
*.lcov Dados de cobertura LCOV
.pytest_cache/ Diretório de cache do pytest
cover/ Relatórios de cobertura

Traduções

Padrão O que ignora
*.mo Catálogos de mensagens compilados
*.pot Modelo de catálogo de mensagens

Ficheiros do Django:

Padrão O que ignora
*.log Ficheiro de registo
local_settings.py Definições locais do Django
db.sqlite3 Base de dados SQLite
db.sqlite3-journal Diário SQLite

Ficheiros do Flask:

Padrão O que ignora
instance/ Pasta de instância do Flask
.webassets-cache Cache do Flask-Assets

Ficheiros do Scrapy:

Padrão O que ignora
.scrapy Cache do Scrapy

Documentação do Sphinx

Padrão O que ignora
docs/_build/ Resultados de compilação do Sphinx

PyBuilder

Padrão O que ignora
.pybuilder/ Diretório do PyBuilder
target/ Diretório de compilação do Maven

Jupyter Notebook

Padrão O que ignora
.ipynb_checkpoints Pontos de controlo do Jupyter notebook

PEP 582; utilizado, por exemplo, por github.com/David-OConnor/pyflow e github.com/pdm-project/pdm

Padrão O que ignora
__pypackages__/ Pacotes PEP 582

Ficheiros do Celery

Padrão O que ignora
celerybeat.pid Ficheiro PID do Celery beat
celerybeat-schedule* Ficheiros do Celery

Ficheiros analisados pelo SageMath

Padrão O que ignora
*.sage.py Ficheiros compilados do Sage

Ambientes

Padrão O que ignora
.env Variáveis de ambiente
.envrc Ambientes
.venv Ambiente virtual Python
env/ Diretório do ambiente virtual
venv/ Diretório do ambiente virtual
env.bak/ Cópia de segurança do ambiente
venv.bak/ Cópia de segurança do ambiente virtual

Redis

Padrão O que ignora
*.rdb Redis
*.aof Redis
*.pid Ficheiro de identificador de processo

RabbitMQ

Padrão O que ignora
mnesia/ RabbitMQ
rabbitmq/ RabbitMQ
rabbitmq-data/ RabbitMQ

ActiveMQ

Padrão O que ignora
activemq-data/ ActiveMQ

Definições do projeto Spyder

Padrão O que ignora
.spyderproject Projeto Spyder
.spyproject Definições do projeto Spyder

Definições do projeto Rope

Padrão O que ignora
.ropeproject Refatoração Python com rope
/site Documentação do mkdocs
.mypy_cache/ Cache do verificador de tipos mypy
.dmypy.json Configuração do serviço mypy
dmypy.json Configuração do serviço mypy

Verificador de tipos Pyre

Padrão O que ignora
.pyre/ Verificador de tipos Pyre
.pytype/ Analisador estático pytype

Símbolos de depuração do Cython

Padrão O que ignora
cython_debug/ Símbolos de depuração do Cython

Saiba mais em https://abstra.io/docs

Padrão O que ignora
.abstra/ Saiba mais em https://abstra.io/docs

Ficheiros do Ruff:

Padrão O que ignora
.ruff_cache/ Ficheiros do Ruff:

Ficheiro de configuração do PyPI

Padrão O que ignora
.pypirc Ficheiro de configuração do PyPI

Marimo

Padrão O que ignora
marimo/_static/ Marimo
marimo/_lsp/ Marimo
__marimo__/ Marimo

Streamlit

Padrão O que ignora
.streamlit/secrets.toml Streamlit

Ficheiro temporário para execução parcial de código

Padrão O que ignora
tempCodeRunnerFile.py Ficheiro temporário para execução parcial de código

Como utilizar este .gitignore para Python

  1. Copie as regras de Python acima ou descarregue o ficheiro diretamente.
  2. Crie um ficheiro com o nome .gitignore na raiz do seu repositório Git e cole nele as regras.
  3. Se o Git já acompanhar alguns desses ficheiros, execute git rm -r --cached . e faça um novo commit: o Git só aplica regras de exclusão aos ficheiros que ainda não acompanha.
  4. Faça commit do .gitignore para que toda a equipa utilize as mesmas regras.

Outros modelos .gitignore de Linguagem

Ver todos os modelos de Linguagem