You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在使用setuptools的pyproject.toml中包含docs目录?

问题解答:Setuptools自动发现未包含docs目录是否正常及解决方法

这是正常现象吗?

是正常的。Setuptools的自动发现机制默认仅识别Python包/模块(即src目录下的代码结构),以及pyproject.toml中显式指定的README、依赖等配置相关文件。像docs、tests这类非代码目录,不会被自动纳入源码包(sdist)的构建范围。

如何让docs目录被包含进源码包?

有两种常用方式实现,选其一即可:

方式1:使用MANIFEST.in(传统兼容方式)

在项目根目录创建MANIFEST.in文件,添加以下内容:

# 包含docs目录下所有文件(含子目录)
recursive-include docs **/*
# 可选:同时包含根目录的AUTHORS、LICENSE等文件
include AUTHORS LICENSE

方式2:在pyproject.toml中直接配置(推荐,符合现代配置规范)

在现有pyproject.toml中添加[tool.setuptools.files]配置块,显式指定要包含的文件/目录:

[tool.setuptools.files]
include = [
    "docs/**/*",
    "AUTHORS",
    "LICENSE"
]

配置完成后,重新执行源码包构建命令:

python -m build --sdist

生成的.tar.gz源码包中就会包含docs目录及其中的文件。

内容的提问来源于stack exchange,提问作者Michel Van den Bergh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 13:34:59