使用Hatch构建Python发行版时如何包含数据文件?
Hatch 数据文件配置说明
Hatch不会自动包含所有数据文件,默认仅打包Python包内的.py文件(含__init__.py),非代码文件需手动配置才能被包含。
配置方式分两种场景:
1. 精准指定要包含的包内文件
在pyproject.toml中通过[tool.hatch.build.targets.wheel.include]配置匹配规则,示例:
[tool.hatch.build.targets.wheel.include] # 包含mypackage包下所有txt文件 "mypackage/*.txt" = true # 包含mypackage/assets目录下的所有层级文件 "mypackage/assets/**/*" = true
2. 实现类似Setuptools include-package-data=true的效果
如果想自动包含包内所有非Python代码文件,可给目标包开启include-data选项:
[tool.hatch.build] packages = ["mypackage"] [tool.hatch.build.packages.mypackage] include-data = true
此配置会将mypackage目录下所有非.py文件全部打包,和Setuptools的参数效果一致。
额外说明:项目根目录下的标准文件(如README、LICENSE、pyproject.toml)Hatch会自动包含,无需额外配置。
内容的提问来源于stack exchange,提问作者Pierrick Rambaud
相关产品推荐
相关产品推荐

