.gitignore para Python
95 reglas de exclusión para Python, listas para copiar en tu repositorio.
Lenguaje de programación Python
El .gitignore completo para Python
# Generado por LFGitignore - https://lfgitignore.com
# Creado: 2026-10-13 16:10:47 UTC
# Tecnologías: Python
### Python ###
# Directorio de caché de bytecode de Python
__pycache__/
*.py[codz]
# Archivos de clases de Python/Jython
*$py.class
# Perfil predeterminado de IPython
profile_default/
# Objeto compartido
*.so
# Configuración de IPython
ipython_config.py
# Indicador de versión de Python
.Python
# Directorio de resultados de compilación
build/
# Paquetes egg de desarrollo de Python
develop-eggs/
# Directorio de distribución
dist/
# Archivos descargados
downloads/
# Paquetes egg de Python
eggs/
# Directorio de paquetes egg de Python
.eggs/
# Directorio de bibliotecas
lib/
# Directorio de bibliotecas de 64 bits
lib64/
# Componentes de Buildout
parts/
# Distribución del código fuente de Python
sdist/
var/
# Paquetes wheel de Python
wheels/
# Paquetes wheel de Python compartidos
share/python-wheels/
# Metadatos de paquetes de Python
*.egg-info/
# Configuración instalada de Buildout
.installed.cfg
# Paquete egg de Python
*.egg
# Archivo de manifiesto de Python
MANIFEST
# Archivos de manifiesto
*.manifest
# Archivo de especificación de PyInstaller
*.spec
# Registro de instalación de pip
pip-log.txt
# Archivo de marcador de pip
pip-delete-this-directory.txt
# Informe de cobertura HTML
htmlcov/
# Entornos de pruebas de tox
.tox/
# Entornos de pruebas de nox
.nox/
# Archivo de datos de cobertura
.coverage
# Archivos de datos de cobertura
.coverage.*
# Directorio de caché
.cache
# Resultados de pruebas de Nose
nosetests.xml
# Informe de cobertura XML
coverage.xml
# Código fuente anotado con cobertura
*.cover
*.py.cover
# Datos de cobertura LCOV
*.lcov
# Datos de pruebas de Hypothesis
.hypothesis/
# Directorio de caché de pytest
.pytest_cache/
# Informes de cobertura
cover/
# Catálogos de mensajes compilados
*.mo
# Plantilla de catálogo de mensajes
*.pot
# Archivo de registro
*.log
# Configuración local de Django
local_settings.py
# Base de datos SQLite
db.sqlite3
# Diario de SQLite
db.sqlite3-journal
# Carpeta de instancia de Flask
instance/
# Caché de Flask-Assets
.webassets-cache
# Caché de Scrapy
.scrapy
# Resultados de compilación de Sphinx
docs/_build/
# Directorio de PyBuilder
.pybuilder/
# Directorio de compilación de Maven
target/
# Puntos de control de cuadernos Jupyter
.ipynb_checkpoints
.pdm-python
.pdm-build/
.pixi/*
# Paquetes de PEP 582
__pypackages__/
!.pixi/config.toml
# Archivo PID de Celery beat
celerybeat.pid
# Archivos compilados de Sage
*.sage.py
celerybeat-schedule*
# Variables de entorno
.env
*.rdb
.envrc
*.aof
# Entorno virtual de Python
.venv
# Archivo de identificador de proceso
*.pid
# Directorio del entorno virtual
env/
mnesia/
# Directorio del entorno virtual
venv/
rabbitmq/
# Copia de seguridad del entorno
env.bak/
rabbitmq-data/
activemq-data/
# Copia de seguridad del entorno virtual
venv.bak/
# Proyecto de Spyder
.spyderproject
# Configuración del proyecto Spyder
.spyproject
# Refactorización de Python con rope
.ropeproject
/site
# Caché del comprobador de tipos mypy
.mypy_cache/
# Configuración del demonio de mypy
.dmypy.json
# Configuración del demonio de mypy
dmypy.json
# Comprobador de tipos Pyre
.pyre/
# Analizador estático pytype
.pytype/
# Símbolos de depuración de Cython
cython_debug/
.abstra/
.ruff_cache/
.pypirc
marimo/_static/
marimo/_lsp/
__marimo__/
.streamlit/secrets.toml
tempCodeRunnerFile.py
Qué ignoran estas reglas de Python
Todos los patrones y por qué incluirlos en tu .gitignore.
Archivos compilados a bytecode / optimizados / DLL
| Patrón | Qué ignora |
|---|---|
__pycache__/ |
Directorio de caché de bytecode de Python |
*.py[codz] |
Archivos compilados a bytecode / optimizados / DLL |
*$py.class |
Archivos de clases de Python/Jython |
IPython
| Patrón | Qué ignora |
|---|---|
profile_default/ |
Perfil predeterminado de IPython |
ipython_config.py |
Configuración de IPython |
.pdm-python |
pdm: al igual que con Pipfile.lock, se recomienda incluir pdm.lock en el control de versiones. pdm recomienda incluir la configuración del proyecto en pdm.toml, pero excluir .pdm-python. https://pdm-project.org/en/latest/usage/project/#working-with-version-control pdm.lock pdm.toml |
.pdm-build/ |
IPython |
.pixi/* |
pixi: al igual que con Pipfile.lock, se recomienda incluir pixi.lock en el control de versiones. pixi.lock Pixi crea un entorno virtual en el directorio .pixi, igual que el módulo venv lo crea en .venv. Se recomienda no incluir este directorio en el control de versiones. |
!.pixi/config.toml |
IPython |
Extensiones de C
| Patrón | Qué ignora |
|---|---|
*.so |
Objeto compartido |
Distribución / empaquetado
| Patrón | Qué ignora |
|---|---|
.Python |
Indicador de versión de Python |
build/ |
Directorio de resultados de compilación |
develop-eggs/ |
Paquetes egg de desarrollo de Python |
dist/ |
Directorio de distribución |
downloads/ |
Archivos descargados |
eggs/ |
Paquetes egg de Python |
.eggs/ |
Directorio de paquetes egg de Python |
lib/ |
Directorio de bibliotecas |
lib64/ |
Directorio de bibliotecas de 64 bits |
parts/ |
Componentes de Buildout |
sdist/ |
Distribución del código fuente de Python |
var/ |
Distribución / empaquetado |
wheels/ |
Paquetes wheel de Python |
share/python-wheels/ |
Paquetes wheel de Python compartidos |
*.egg-info/ |
Metadatos de paquetes de Python |
.installed.cfg |
Configuración instalada de Buildout |
*.egg |
Paquete egg de Python |
MANIFEST |
Archivo de manifiesto de Python |
*.manifest |
Archivos de manifiesto |
*.spec |
Archivo de especificación de PyInstaller |
Registros del instalador
| Patrón | Qué ignora |
|---|---|
pip-log.txt |
Registro de instalación de pip |
pip-delete-this-directory.txt |
Archivo de marcador de pip |
Informes de pruebas unitarias y cobertura
| Patrón | Qué ignora |
|---|---|
htmlcov/ |
Informe de cobertura HTML |
.tox/ |
Entornos de pruebas de tox |
.nox/ |
Entornos de pruebas de nox |
.coverage |
Archivo de datos de cobertura |
.coverage.* |
Archivos de datos de cobertura |
.cache |
Directorio de caché |
nosetests.xml |
Resultados de pruebas de Nose |
coverage.xml |
Informe de cobertura XML |
*.cover |
Código fuente anotado con cobertura |
*.py.cover |
Informes de pruebas unitarias y cobertura |
.hypothesis/ |
Datos de pruebas de Hypothesis |
*.lcov |
Datos de cobertura LCOV |
.pytest_cache/ |
Directorio de caché de pytest |
cover/ |
Informes de cobertura |
Traducciones
| Patrón | Qué ignora |
|---|---|
*.mo |
Catálogos de mensajes compilados |
*.pot |
Plantilla de catálogo de mensajes |
Archivos de Django:
| Patrón | Qué ignora |
|---|---|
*.log |
Archivo de registro |
local_settings.py |
Configuración local de Django |
db.sqlite3 |
Base de datos SQLite |
db.sqlite3-journal |
Diario de SQLite |
Archivos de Flask:
| Patrón | Qué ignora |
|---|---|
instance/ |
Carpeta de instancia de Flask |
.webassets-cache |
Caché de Flask-Assets |
Archivos de Scrapy:
| Patrón | Qué ignora |
|---|---|
.scrapy |
Caché de Scrapy |
Documentación de Sphinx
| Patrón | Qué ignora |
|---|---|
docs/_build/ |
Resultados de compilación de Sphinx |
PyBuilder
| Patrón | Qué ignora |
|---|---|
.pybuilder/ |
Directorio de PyBuilder |
target/ |
Directorio de compilación de Maven |
Jupyter Notebook
| Patrón | Qué ignora |
|---|---|
.ipynb_checkpoints |
Puntos de control de cuadernos Jupyter |
PEP 582; utilizado, por ejemplo, por github.com/David-OConnor/pyflow y github.com/pdm-project/pdm
| Patrón | Qué ignora |
|---|---|
__pypackages__/ |
Paquetes de PEP 582 |
Archivos de Celery
| Patrón | Qué ignora |
|---|---|
celerybeat.pid |
Archivo PID de Celery beat |
celerybeat-schedule* |
Archivos de Celery |
Archivos analizados de SageMath
| Patrón | Qué ignora |
|---|---|
*.sage.py |
Archivos compilados de Sage |
Entornos
| Patrón | Qué ignora |
|---|---|
.env |
Variables de entorno |
.envrc |
Entornos |
.venv |
Entorno virtual de Python |
env/ |
Directorio del entorno virtual |
venv/ |
Directorio del entorno virtual |
env.bak/ |
Copia de seguridad del entorno |
venv.bak/ |
Copia de seguridad del entorno virtual |
Redis
| Patrón | Qué ignora |
|---|---|
*.rdb |
Redis |
*.aof |
Redis |
*.pid |
Archivo de identificador de proceso |
RabbitMQ
| Patrón | Qué ignora |
|---|---|
mnesia/ |
RabbitMQ |
rabbitmq/ |
RabbitMQ |
rabbitmq-data/ |
RabbitMQ |
ActiveMQ
| Patrón | Qué ignora |
|---|---|
activemq-data/ |
ActiveMQ |
Configuración del proyecto Spyder
| Patrón | Qué ignora |
|---|---|
.spyderproject |
Proyecto de Spyder |
.spyproject |
Configuración del proyecto Spyder |
Configuración del proyecto Rope
| Patrón | Qué ignora |
|---|---|
.ropeproject |
Refactorización de Python con rope |
/site |
Documentación de mkdocs |
.mypy_cache/ |
Caché del comprobador de tipos mypy |
.dmypy.json |
Configuración del demonio de mypy |
dmypy.json |
Configuración del demonio de mypy |
Comprobador de tipos Pyre
| Patrón | Qué ignora |
|---|---|
.pyre/ |
Comprobador de tipos Pyre |
.pytype/ |
Analizador estático pytype |
Símbolos de depuración de Cython
| Patrón | Qué ignora |
|---|---|
cython_debug/ |
Símbolos de depuración de Cython |
Más información en https://abstra.io/docs
| Patrón | Qué ignora |
|---|---|
.abstra/ |
Más información en https://abstra.io/docs |
Archivos de Ruff:
| Patrón | Qué ignora |
|---|---|
.ruff_cache/ |
Archivos de Ruff: |
Archivo de configuración de PyPI
| Patrón | Qué ignora |
|---|---|
.pypirc |
Archivo de configuración de PyPI |
Marimo
| Patrón | Qué ignora |
|---|---|
marimo/_static/ |
Marimo |
marimo/_lsp/ |
Marimo |
__marimo__/ |
Marimo |
Streamlit
| Patrón | Qué ignora |
|---|---|
.streamlit/secrets.toml |
Streamlit |
Archivo temporal para la ejecución parcial del código
| Patrón | Qué ignora |
|---|---|
tempCodeRunnerFile.py |
Archivo temporal para la ejecución parcial del código |
Cómo usar este .gitignore para Python
- Copia las reglas de Python de arriba o descarga el archivo directamente.
- Crea un archivo llamado .gitignore en la raíz del repositorio Git y pega las reglas.
- Si Git ya rastrea alguno de esos archivos, ejecuta git rm -r --cached . y crea otro commit: Git solo aplica las reglas de exclusión a los archivos que no rastrea.
- Incluye el .gitignore en un commit para que todo el equipo comparta las mismas reglas.