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

如何在pyproject.toml中配置exclude以排除pkg2.tests子包

如何在pyproject.toml中配置exclude以排除pkg2.tests子包

嘿,我看你已经在尝试用exclude配置来排除pkg2.tests子包啦,不过可能当前的匹配规则需要微调一下才能准确生效,咱们来一步步搞定:

首先,你的项目目录结构里,src/pkg2/tests对应的Python包名是pkg2.tests,而setuptools的exclude参数是基于**包名(点分隔)**来做glob匹配的,不是文件系统路径。

你可以把exclude配置改成下面两种方式之一:

方式1:明确指定要排除的包及子模块

[tool.setuptools.packages.find]
where = ["src"]  # 基于src目录查找包
include = ["*"]
exclude = ["pkg2.tests", "pkg2.tests.*"]  # 排除pkg2.tests本身及其所有子模块
namespaces = false

方式2:用glob通配符简化写法

[tool.setuptools.packages.find]
where = ["src"]
include = ["*"]
exclude = ["pkg2.tests*"]  # 通配符匹配所有以pkg2.tests开头的包
namespaces = false

这样配置后,setuptools在打包时就会自动跳过pkg2.tests这个子包以及它下面的所有内容啦。如果要验证是否生效,你可以运行python -m pip install .安装包后,查看安装目录里是否还有pkg2/tests相关的文件,或者用python -m setuptools discover命令检查发现的包列表。

备注:内容来源于stack exchange,提问作者Pacific East

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 11:05:28