ty 在 monorepo 中如何用 --project 或 environment.root 检查多个 Python 包?

发布时间:2026/11/7 13:37:11

ty 在 monorepo 中如何用 --project 或 environment.root 检查多个 Python 包? ty 在 monorepo 中如何用 --project 或 environment.root 检查多个 Python 包【免费下载链接】tyAn extremely fast Python type checker and language server, written in Rust.项目地址: https://gitcode.com/GitHub_Trending/ty2/ty在一个 monorepo 里多个 Python 包通常平铺在packages/这类目录下各自有独立的pyproject.toml和虚拟环境。ty 官方说明它支持 monorepo但嵌套项目的自动发现是有限制的默认情况下ty 用当前工作目录或--project选项来确定项目根目录见 docs/reference/typing-faq.md 的 Does ty support monorepos? 一节。也就是说ty 不会自动把每个子目录都当成独立项目来逐个检查你需要在下面两条路径中显式选一条。路径一按包检查——ty check --project 包目录这是 FAQ 给出的第一条做法从每个包目录运行ty check或用--project指定包ty check --project packages/package-a ty check --project packages/package-b--project的行为在 CLI 参考ty check --project条目中有明确说明命令在指定的项目目录内运行所有pyproject.toml会从该目录向上遍历目录树来发现该项目的虚拟环境.venv也会被一并发现除非设置了venv-path选项注意其余命令行参数例如相对路径仍相对于当前工作目录解析而不是相对于--project目录。每条命令只针对一个包包的pyproject.toml、.venv各自独立生效。如果你的仓库中每个包的包结构不同这是最不容易出歧义的主路径。路径二把多个包当作一个项目——配置environment.root如果你希望一条命令覆盖多个包可以在仓库根目录的配置里用environment.root列出所有包的源码目录。写在pyproject.toml[tool.ty.environment] root [packages/package-a, packages/package-b]或者写在ty.toml见 docs/modules.md 中的配置位置说明[environment] root [packages/package-a, packages/package-b]配置后在仓库根目录直接运行ty check即可命令与参数详见 docs/type-checking.md 和 docs/reference/cli.md。理解root的语义需要读 docs/reference/configuration.md 的root条目root是项目用于查找第一方模块的根路径列表按优先级顺序搜索列表中的第一项优先级最高如果不设置ty 会尝试识别常见项目布局自动初始化项目根.始终包含./src、./project-name、./python在存在且不是包不含__init__.py/__init__.pyi时也会被包含因此对于包平铺在packages/下的 monorepo 布局自动识别覆盖不到各包目录需要像上面这样显式列出。这条路径有一个 FAQ 明确指出的缺点所有包会被当作同一个项目处理可能出现 ty 认为某个导入可解析、而运行时实际不可导入的情况。如果各包之间不应互相导入或者各包依赖不同的虚拟环境优先选路径一。验证检查是否通过判断单次检查结果的依据是诊断输出与退出码根据 docs/reference/configuration.md 的说明默认情况下 ty 只要发出任何 warning 或 error 级别的诊断就以退出码 1 结束没有这类诊断时以退出码 0 结束所以无论用--project还是root方案在 CI 中直接跑命令后检查退出码即可0表示该包或该次检查范围没有 error/warning 诊断1表示需要查看诊断明细如需查看 ty 实际使用的模块搜索路径排查第一方模块找不到的情况可加-v运行-v为 verbose 输出见 docs/reference/cli.md。边界与限制自动发现嵌套项目目前能力有限这是 FAQ 原文给出的现状描述两个包的相对位置、root列表顺序第一项优先级最高都会影响第一方模块的解析结果调整布局时先确认root配置与目录实际一致root只解决第一方模块的定位第三方包仍按 docs/modules.md 描述的 Python 环境发现机制VIRTUAL_ENV、项目根或工作目录下的.venv、--python显式指定解析monorepo 中每个包有独立.venv时路径一能让 ty 针对每个包各自找到对应环境两种方案都不是一条命令无配置扫全仓库路径一靠逐包命令路径二靠显式root列表选择依据是包之间是否存在跨包导入和独立环境需求。【免费下载链接】tyAn extremely fast Python type checker and language server, written in Rust.项目地址: https://gitcode.com/GitHub_Trending/ty2/ty创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/26 6:10:30

Web漏洞学习方法论:先原理后手挖再工具

不用怀疑,Web漏洞学习这条路,最怕的不是入门难,而是方向错。很多人一上来就问我“用什么工具”,开口就是“能不能推荐个扫描器”,这种思维再练三年也还是脚本小子。我自己带过不少新人,也踩过不少坑&#x…

2026/10/26 15:53:42

Python多线程为什么反而更慢?GIL原理与绕过方案全解析

“少熬三天夜”这个标题,写出来一点都不夸张。上上周末我在公司优化一个订单归并服务,单线程处理几十万条数据要跑四十多秒,领导嫌慢让我提效。我当时第一反应就是加线程,Python 多线程谁不会?一行ThreadPoolExecutor丢…

2026/10/26 18:45:06

小鹏汽车2025财报分析与预测模型搭建

1. 项目概述:为什么关注小鹏汽车2025财报? 作为国内造车新势力的代表企业之一,小鹏汽车(XPEV)的财务表现一直是行业风向标。2025年作为新能源汽车补贴完全退坡后的首个完整财年,其财报数据将直观反映企业在…

2026/11/7 13:34:19

扬州电工证报考外省证能转吗官方报名入口详解

扬州电工证报考外省证能转吗官方报名入口详解 之前考的证在外省能不能转过来?这是很多在扬州从事电工工作的人最关心的问题。尤其是一些从外地来扬州工作、或者是长期在外地工作、现在需要在扬州上岗的电工,他们常常会遇到证件不被认可的情况。好消息是,根…

2026/11/7 13:34:19

考一个高压电工证真实经历告诉你外省证能不能转过来

考一个高压电工证真实经历告诉你外省证能不能转过来 之前考的证在外省能不能转过来?这个问题我问过身边十几个工友,几乎每个人都经历过。我就是在南阳卧龙区做建筑电工的,手上拿着一张在河南考的高压电工证,但之前在江苏干过几年,那里的证一直没转过来,…

2026/11/7 13:29:19

成都靠谱的电工证培训怎么选?含金量高的证书这样考

成都靠谱的电工证培训怎么选?含金量高的证书这样考 急需特种作业证才能上岗找工作,这事儿真不能拖!电工证是很多建筑、制造、电力相关岗位的准入门槛,尤其在成都这种工商业发达的城市,持证上岗几乎是标配。但市场上培训机构鱼龙混杂,选一个…

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/6 10:49:01

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/7 0:03:08

郑州报考避坑指南:电工证和钳工证怎么选?实操考试心里没底怕挂科

郑州报考避坑指南:电工证和钳工证怎么选?实操考试心里没底怕挂科 实操考试心里没底怕挂科?你不是一个人。特别是在郑州这样的城市,很多施工企业负责人和一线作业人员在报考电工证和钳工证时都面临着同样的困惑。到底该考哪个证?哪个更适合自己?哪个证书…

2026/11/7 0:03:08

广西电工证办理流程全解析:外省证怎么转?在哪考最靠谱?

广西电工证办理流程全解析:外省证怎么转?在哪考最靠谱? 之前考的证在外省能不能转过来?这个问题我遇到太多了,今天就拿广西电工证办理流程来具体说说,别再走弯路了。广西电工证的报考、复审、继续教育这些环节,如果你不了解,真的会吃大亏,尤其对于从…

2026/11/7 0:03:08

电气电工证都有哪些保姆级教程

电气电工证都有哪些保姆级教程 你是不是正愁不知道去哪报名,怕被中介坑?别急,这篇保姆级教程专为河南初次报考人员准备,帮你搞清楚 电气电工证都有哪些 ,以及如何避开那些坑。 电气电工证都有哪些?别被五花八门的证书搞懵了…

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/6 10:49:01

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑