Python 官方标准包安装工具,用于从 PyPI 及其他索引安装软件包。
mgedmin/check-manifest
检查 Python 包源码分发包是否漏掉版本控制中的文件,并可自动更新 MANIFEST.in。
- Star
- 293
- Fork
- 44
- 未关闭 Issue
- 29
- 最近提交
- 20天前
这是什么?
check-manifest 是一个面向 Python 包开发者的命令行工具。它会比对版本控制系统(如 git、Mercurial)中跟踪的文件与构建出的源码分发包(sdist)内容,找出缺失的文件。这能避免测试文件、配置文件或数据文件遗漏在上传到 PyPI 的发行版之外这类常见的打包错误。
使用更新选项时,工具会把建议的 include 规则追加到 MANIFEST.in 中,让下次构建时能包含这些文件。如果项目还没有 MANIFEST.in,它也可以自动创建。用户还可以在 pyproject.toml、setup.cfg 或 tox.ini 中配置需要忽略的文件或模式。
该工具既可以直接在终端运行,也可以作为 pre-commit 钩子使用,在每次提交前自动检查。
核心功能
- 01将版本控制中的文件与构建出的 sdist 对比,列出缺失的文件。
- 02可自动把建议的 include 规则追加到 MANIFEST.in。
- 03在缺少 MANIFEST.in 时自动创建。
- 04支持通过 pyproject.toml、setup.cfg 或 tox.ini 配置忽略的文件或模式。
- 05可作为 pre-commit 钩子运行。
适用场景
- 检查上传到 PyPI 的 Python 包是否包含全部测试和数据文件。
- 通过 pre-commit 在每次 git 提交前自动运行打包检查。
- 项目结构调整后修复不完整的 MANIFEST.in。
快速上手
- 1
从 PyPI 安装 check-manifest
pip install check-manifest - 2
进入你的 Python 包源码目录
cd ~/src/mygreatpackage - 3
运行 check-manifest,比较版本控制中的文件与 sdist
check-manifest
标签
常见问题
- check-manifest 是什么?
- 检查 Python 包源码分发包是否漏掉版本控制中的文件,并可自动更新 MANIFEST.in。 check-manifest 是一个面向 Python 包开发者的命令行工具。它会比对版本控制系统(如 git、Mercurial)中跟踪的文件与构建出的源码分发包(sdist)内容,找出缺失的文件。这能避免测试文件、配置文件或数据文件遗漏在上传到 PyPI 的发行版之外这类常见的打包错误。
- check-manifest 可以免费使用吗?用的什么许可证?
- check-manifest 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- check-manifest 还在维护吗?
- 活跃维护中。check-manifest 最近一次提交是在 2026年10月18日。
- check-manifest 适合用来做什么?
- 检查上传到 PyPI 的 Python 包是否包含全部测试和数据文件。 通过 pre-commit 在每次 git 提交前自动运行打包检查。 项目结构调整后修复不完整的 MANIFEST.in。
- check-manifest 怎么安装和运行?
- 从 PyPI 安装 check-manifest: pip install check-manifest 进入你的 Python 包源码目录: cd ~/src/mygreatpackage 运行 check-manifest,比较版本控制中的文件与 sdist: check-manifest
- 在哪里获取 check-manifest?
- 源代码和安装说明在 GitHub 上:https://github.com/mgedmin/check-manifest
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Python 官方打包体系中的构建工具 Setuptools 的官方代码仓库,用于构建和分发 Python 项目。
一个简单的工具,用于将纯 Python 包和模块打包并发布到 PyPI,配置很少。
一个 Python 项目脚手架工具,可快速生成可发布到 PyPI 的规范化包结构,并预置 tox、pytest、Sphinx 等工具。
用于将 Python 源码包和 wheel 包上传到 PyPI 的命令行工具,不依赖具体的构建系统。
Black 是一款风格固定、结果确定的 Python 代码格式化工具,直接改写文件并尽量产生最小差异。