构建¶
配置¶
构建使用 tool.hatch.build
表进行配置。每个 target 都是由 tool.hatch.build.targets
部分定义的,例如:
[tool.hatch.build.targets.sdist]
exclude = [
"/.github",
"/docs",
]
[tool.hatch.build.targets.wheel]
packages = ["src/foo"]
[build.targets.sdist]
exclude = [
"/.github",
"/docs",
]
[build.targets.wheel]
packages = ["src/foo"]
构建过程¶
调用不带任何参数的 build
命令将在隔离的环境中构建所有已定义的目标:
$ hatch build
Setting up build environment
[sdist]
dist/hatch_demo-1rc0.tar.gz
Setting up build environment
[wheel]
dist/hatch_demo-1rc0-py3-none-any.whl
要只构建特定的目标,使用 -t
/--target
选项:
$ hatch build -t wheel
Setting up build environment
[wheel]
dist/hatch_demo-1rc0-py3-none-any.whl
如果目标支持多个版本,您可以通过添加冒号和以逗号分隔的所需版本来指定要构建的确切版本:
$ hatch -v build -t wheel:standard
Setting up build environment
...
[wheel]
Building `wheel` version `standard`
dist/hatch_demo-1rc0-py3-none-any.whl
打包生态¶
Hatch 遵循 现代 Python 打包规范,因此你的项目可以被其他工具使用,而 Hatch 只是作为构建后端。
因此,您可以使用 tox 作为 Hatch 环境管理 的替代方案,或者使用 cibuildwheel 为每个平台分发包,它们都将透明地使用 Hatch,而无需任何额外的修改。
最后更新: August 13, 2022