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

C 扩展

模式 忽略的内容
*.so 共享对象

分销/包装

模式 忽略的内容
.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

  1. 复制上面的Python规则,或者直接下载文件。
  2. 在 Git 仓库根目录创建名为 .gitignore 的文件,并将规则粘贴进去。
  3. 如果其中一些文件已被跟踪,请运行 git rm -r --cached . 然后再次提交 - Git 仅将忽略规则应用于未跟踪的文件。
  4. 提交 .gitignore 以便团队中的每个人都共享相同的规则。

其他 语言 .gitignore 模板

查看每个 语言 模板