Python 的 .gitignore
适用于 Python 的 95 条忽略规则,可直接复制到您的仓库。
Python 编程语言
Python 的完整 .gitignore
# 由 LFGitignore - https://lfgitignore.com 生成
# 创建:2026-10-31 21:49:12 UTC
# 技术:Python
### Python ###
# Python 字节码缓存目录
__pycache__/
*.py[codz]
# Python/Jython 类文件
*$py.class
# IPython 默认配置
profile_default/
# 共享对象
*.so
# IPython 配置
ipython_config.py
# Python 版本标记
.Python
# 构建输出目录
build/
# Python 开发用 egg 包
develop-eggs/
# 发行目录
dist/
# 下载的文件
downloads/
# Python egg 包
eggs/
# Python egg 包目录
.eggs/
# 库目录
lib/
# 64位库目录
lib64/
# Buildout 组件
parts/
# Python 源分布
sdist/
var/
# Python wheel 包
wheels/
# 共享 Python wheel 包
share/python-wheels/
# Python 包元数据
*.egg-info/
# Buildout 已安装配置
.installed.cfg
# Python egg 包
*.egg
# Python 清单文件
MANIFEST
# 清单文件
*.manifest
# PyInstaller 规范文件
*.spec
# pip 安装日志
pip-log.txt
# pip 标记文件
pip-delete-this-directory.txt
# 覆盖率 HTML 报告
htmlcov/
# tox 测试环境
.tox/
# nox 测试环境
.nox/
# 覆盖数据文件
.coverage
# 覆盖数据文件
.coverage.*
# 缓存目录
.cache
# Nose 测试结果
nosetests.xml
# 覆盖范围 XML 报告
coverage.xml
# 覆盖范围注释来源
*.cover
*.py.cover
# LCOV 覆盖数据
*.lcov
# Hypothesis 测试数据
.hypothesis/
# pytest缓存目录
.pytest_cache/
# 覆盖范围报告
cover/
# 编译消息目录
*.mo
# 消息目录模板
*.pot
# 日志档案
*.log
# 本地 Django 设置
local_settings.py
# SQLite数据库
db.sqlite3
# SQLite日志
db.sqlite3-journal
# Flask 实例文件夹
instance/
# Flask-Assets 缓存
.webassets-cache
# Scrapy 缓存
.scrapy
# Sphinx 构建输出
docs/_build/
# PyBuilder目录
.pybuilder/
# Maven 构建目录
target/
# Jupyter 笔记本检查点
.ipynb_checkpoints
.pdm-python
.pdm-build/
.pixi/*
# PEP 582 软件包
__pypackages__/
!.pixi/config.toml
# Celery击败PID文件
celerybeat.pid
# Sage编译文件
*.sage.py
celerybeat-schedule*
# 环境变量
.env
*.rdb
.envrc
*.aof
# Python 虚拟环境
.venv
# 进程ID文件
*.pid
# 虚拟环境目录
env/
mnesia/
# 虚拟环境目录
venv/
rabbitmq/
# 环境备份
env.bak/
rabbitmq-data/
activemq-data/
# 虚拟环境备份
venv.bak/
# Spyder项目
.spyderproject
# Spyder 项目设置
.spyproject
# Python 绳索重构
.ropeproject
/site
# mypy 类型检查器缓存
.mypy_cache/
# mypy 守护进程配置
.dmypy.json
# mypy 守护进程配置
dmypy.json
# Pyre 类型检查器
.pyre/
# pytype静态分析器
.pytype/
# Cython 调试符号
cython_debug/
.abstra/
.ruff_cache/
.pypirc
marimo/_static/
marimo/_lsp/
__marimo__/
.streamlit/secrets.toml
tempCodeRunnerFile.py
这些 Python 规则实际上忽略了什么
以下列出了每个忽略模式及其加入 .gitignore 的原因。
字节编译/优化/DLL 文件
| 模式 |
忽略的内容 |
__pycache__/ |
Python 字节码缓存目录 |
*.py[codz] |
字节编译/优化/DLL 文件 |
*$py.class |
Python/Jython 类文件 |
IPython
| 模式 |
忽略的内容 |
profile_default/ |
IPython 默认配置 |
ipython_config.py |
IPython 配置 |
.pdm-python |
pdm 与 Pipfile.lock 类似,一般建议在版本控制中包含 pdm.lock。 pdm 建议在 pdm.toml 中包含项目范围的配置,但不包括 .pdm-python。 https://pdm-project.org/en/latest/usage/project/#working-with-version-control pdm.lock pdm.toml |
.pdm-build/ |
IPython |
.pixi/* |
pixi 与 Pipfile.lock 类似,一般建议在版本控制中包含 pixi.lock。 pixi.lock Pixi 在 .pixi 目录中创建一个虚拟环境,就像 venv 模块在 .venv 目录中创建一个虚拟环境一样。建议不要将此目录包含在版本控制中。 |
!.pixi/config.toml |
IPython |
分销/包装
| 模式 |
忽略的内容 |
.Python |
Python 版本标记 |
build/ |
构建输出目录 |
develop-eggs/ |
Python 开发用 egg 包 |
dist/ |
发行目录 |
downloads/ |
下载的文件 |
eggs/ |
Python egg 包 |
.eggs/ |
Python egg 包目录 |
lib/ |
库目录 |
lib64/ |
64位库目录 |
parts/ |
Buildout 组件 |
sdist/ |
Python 源分布 |
var/ |
分销/包装 |
wheels/ |
Python wheel 包 |
share/python-wheels/ |
共享 Python wheel 包 |
*.egg-info/ |
Python 包元数据 |
.installed.cfg |
Buildout 已安装配置 |
*.egg |
Python egg 包 |
MANIFEST |
Python 清单文件 |
*.manifest |
清单文件 |
*.spec |
PyInstaller 规范文件 |
安装程序日志
| 模式 |
忽略的内容 |
pip-log.txt |
pip 安装日志 |
pip-delete-this-directory.txt |
pip 标记文件 |
单元测试/覆盖率报告
| 模式 |
忽略的内容 |
htmlcov/ |
覆盖率 HTML 报告 |
.tox/ |
tox 测试环境 |
.nox/ |
nox 测试环境 |
.coverage |
覆盖数据文件 |
.coverage.* |
覆盖数据文件 |
.cache |
缓存目录 |
nosetests.xml |
Nose 测试结果 |
coverage.xml |
覆盖范围 XML 报告 |
*.cover |
覆盖范围注释来源 |
*.py.cover |
单元测试/覆盖率报告 |
.hypothesis/ |
Hypothesis 测试数据 |
*.lcov |
LCOV 覆盖数据 |
.pytest_cache/ |
pytest缓存目录 |
cover/ |
覆盖范围报告 |
翻译
| 模式 |
忽略的内容 |
*.mo |
编译消息目录 |
*.pot |
消息目录模板 |
Django 相关文件:
| 模式 |
忽略的内容 |
*.log |
日志档案 |
local_settings.py |
本地 Django 设置 |
db.sqlite3 |
SQLite数据库 |
db.sqlite3-journal |
SQLite日志 |
Flask 相关文件:
| 模式 |
忽略的内容 |
instance/ |
Flask 实例文件夹 |
.webassets-cache |
Flask-Assets 缓存 |
Scrapy 相关文件:
| 模式 |
忽略的内容 |
.scrapy |
Scrapy 缓存 |
Sphinx 文档
| 模式 |
忽略的内容 |
docs/_build/ |
Sphinx 构建输出 |
PyBuilder
| 模式 |
忽略的内容 |
.pybuilder/ |
PyBuilder目录 |
target/ |
Maven 构建目录 |
Jupyter笔记本
| 模式 |
忽略的内容 |
.ipynb_checkpoints |
Jupyter 笔记本检查点 |
PEP 582;例如 github.com/David-OConnor/pyflow 和 github.com/pdm-project/pdm 使用此方案。
| 模式 |
忽略的内容 |
__pypackages__/ |
PEP 582 软件包 |
Celery 相关文件
| 模式 |
忽略的内容 |
celerybeat.pid |
Celery击败PID文件 |
celerybeat-schedule* |
Celery 相关文件 |
SageMath 解析的文件
| 模式 |
忽略的内容 |
*.sage.py |
Sage编译文件 |
环境
| 模式 |
忽略的内容 |
.env |
环境变量 |
.envrc |
环境 |
.venv |
Python 虚拟环境 |
env/ |
虚拟环境目录 |
venv/ |
虚拟环境目录 |
env.bak/ |
环境备份 |
venv.bak/ |
虚拟环境备份 |
Redis
| 模式 |
忽略的内容 |
*.rdb |
Redis |
*.aof |
Redis |
*.pid |
进程ID文件 |
RabbitMQ
| 模式 |
忽略的内容 |
mnesia/ |
RabbitMQ |
rabbitmq/ |
RabbitMQ |
rabbitmq-data/ |
RabbitMQ |
ActiveMQ
| 模式 |
忽略的内容 |
activemq-data/ |
ActiveMQ |
Spyder 项目设置
| 模式 |
忽略的内容 |
.spyderproject |
Spyder项目 |
.spyproject |
Spyder 项目设置 |
Rope 项目设置
| 模式 |
忽略的内容 |
.ropeproject |
Python 绳索重构 |
/site |
mkdocs 文档 |
.mypy_cache/ |
mypy 类型检查器缓存 |
.dmypy.json |
mypy 守护进程配置 |
dmypy.json |
mypy 守护进程配置 |
Pyre 类型检查器
| 模式 |
忽略的内容 |
.pyre/ |
Pyre 类型检查器 |
.pytype/ |
pytype静态分析器 |
Cython 调试符号
| 模式 |
忽略的内容 |
cython_debug/ |
Cython 调试符号 |
了解更多信息,请访问 https://abstra.io/docs
| 模式 |
忽略的内容 |
.abstra/ |
了解更多信息,请访问 https://abstra.io/docs |
Ruff 相关文件:
| 模式 |
忽略的内容 |
.ruff_cache/ |
Ruff 相关文件: |
PyPI配置文件
| 模式 |
忽略的内容 |
.pypirc |
PyPI配置文件 |
Marimo
| 模式 |
忽略的内容 |
marimo/_static/ |
Marimo |
marimo/_lsp/ |
Marimo |
__marimo__/ |
Marimo |
Streamlit
| 模式 |
忽略的内容 |
.streamlit/secrets.toml |
Streamlit |
用于部分代码执行的临时文件
| 模式 |
忽略的内容 |
tempCodeRunnerFile.py |
用于部分代码执行的临时文件 |
如何将此 .gitignore 用于 Python
- 复制上面的Python规则,或者直接下载文件。
- 在 Git 仓库根目录创建名为 .gitignore 的文件,并将规则粘贴进去。
- 如果其中一些文件已被跟踪,请运行 git rm -r --cached . 然后再次提交 - Git 仅将忽略规则应用于未跟踪的文件。
- 提交 .gitignore 以便团队中的每个人都共享相同的规则。