用途:本资料是 Pants 构建系统的专家级使用指南,面向使用 Python 项目的开发者,目标是最大化构建性能并充分利用 Pants 的缓存能力,核心是坚持基于 target 的工作流。
主要能力:Pants 提供文件级依赖跟踪的细粒度缓存、跨 CPU 核心的并行构建与测试、自动依赖推断(无需手工维护 BUILD 依赖)、以及跨机器可复现的封闭式构建。
关键规则:始终使用 target 地址,不要用文件路径。例如正确写法 pants test epistemix_platform:src-tests,错误写法 pants test epistemix_platform/tests/test_something.py。两者会产生不同的缓存键,文件路径调用会丢失记忆化收益。文件路径仅适合一次性调试。
常用命令:pants test :: 运行全部测试;pants test epistemix_platform:: 运行组件测试;pants test epistemix_platform:src-tests 运行指定 target;用 -- 分隔 Pants 参数与 pytest 参数,如 pants test epistemix_platform:src-tests -- -vv、-- -k test_user、-- -x。代码质量用 pants fmt ::、pants lint ::、pants fmt lint ::、pants fmt --changed-since=HEAD。构建用 pants package epistemix_platform:epistemix-cli。依赖管理用 pants generate-lockfiles、pants export --resolve=epistemix_platform_env。
适用场景:TDD 红绿重构循环、推送前验证(pants fmt lint test ::)、快速迭代、CI 中使用 --changed-since 只测试受影响代码。
限制与注意:不要习惯性使用文件路径,不要在 TDD 中逐个运行文件,不要手动并行拆分命令,Pants 会自动并行。除非排障,不要随意清理缓存。资料未提供安装方式、收费与平台支持等细节。