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

mypy配置项mypy_path不生效无法识别stubs存根目录问题求助

问题根因
  • mypy默认从当前执行命令的工作目录查找配置文件,你在mypy_minrepro的上级目录执行命令时,mypy无法自动识别到子目录内的mypy.ini
  • 项目根目录mypy_minrepro未被加入mypy的模块搜索路径,导致既找不到项目内的untyped模块,也加载不到stubs目录的存根文件
修复方案(无需调整现有目录结构)

方案一:切换工作目录执行(推荐,无需修改任何配置)

直接进入mypy_minrepro目录后执行mypy命令,mypy会自动加载同目录下的mypy.ini,同时当前目录会被自动加入模块搜索路径:

cd mypy_minrepro
mypy -m test.main

方案二:保留在上级目录执行,显式指定配置和搜索路径

方式1:仅修改执行命令,不改动配置

执行时主动传入配置文件路径和项目根目录的Python路径:

# Windows 环境
mypy --config-file mypy_minrepro/mypy.ini --pythonpath mypy_minrepro -m mypy_minrepro.test.main
# 类Unix环境
mypy --config-file mypy_minrepro/mypy.ini --pythonpath mypy_minrepro -m mypy_minrepro.test.main

方式2:修改mypy.ini适配上级目录执行场景

修改mypy_minrepro/mypy.ini的路径配置,适配从上级目录执行的场景:

[mypy]
mypy_path = mypy_minrepro/test/stubs:mypy_minrepro

执行时仅指定配置文件即可:

mypy --config-file mypy_minrepro/mypy.ini -m mypy_minrepro.test.main
预期执行结果

两种方案都能让mypy正确加载stubs的类型定义,抛出期望的类型错误:

error: Argument 1 to "foo" has incompatible type "str"; expected "float" [arg-type]

内容的提问来源于stack exchange,提问作者Greedo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:27:04