配置pyproject.toml后Hatchling未包含docs目录文件的问题
解决Hatch打包时无法包含/docs目录文件的问题
检查并修正pyproject.toml配置
Hatch的include参数仅指定构建时要纳入的文件,但还需要明确这些文件的安装位置,否则默认不会将非源码目录的文件打包到最终安装包中。修改你的pyproject.toml如下:
[tool.hatch.build] include = [ "ribdif/*.py", "docs/**" # 匹配docs目录下所有文件及子目录 ] # 配置wheel目标的共享数据,指定docs文件的安装路径 [tool.hatch.build.targets.wheel.shared-data] "docs" = "ribdif/docs" # 将项目根目录的docs文件夹安装到包内的ribdif/docs路径下
如果希望将docs目录安装到Python的站点共享数据目录而非包目录内,可以改为:
[tool.hatch.build.targets.wheel.shared-data] "docs" = "share/ribdif/docs"
验证构建结果
- 先本地构建包:
hatch clean && hatch build
- 解压dist目录下生成的
.whl文件,检查是否包含docs目录的内容,确认配置生效。
本地测试安装
使用本地构建的包测试安装,确认文件能被正确安装:
pip install dist/ribdif-*.whl
安装后可以查看Python的site-packages目录(或指定的共享数据目录),验证docs文件是否存在。
检查仓库文件状态
确保你的git仓库中没有通过.gitignore排除docs目录,否则pip install git+url时无法拉取到这些文件,导致构建时缺失。
内容的提问来源于stack exchange,提问作者Lamma
相关产品推荐
相关产品推荐

