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

VSCode中ModuleNotFoundError: No module named 'Stubs'问题排查与解决

问题原因及解决方法

可能原因

  • Stubs目录未被识别为有效模块:Python默认仅将当前脚本所在目录、系统site-packages目录纳入模块搜索路径。若Stubs目录不在这些路径中,或缺少__init__.py文件(Python3.3+虽支持命名空间包,但部分场景仍需该文件明确模块身份),会导致找不到模块。
  • VSCode Python解释器配置错误:可能选中了非当前项目的Python环境,比如未激活虚拟环境,或解释器路径指向的环境未包含当前项目目录。
  • VSCode工作目录设置不当:若工作目录不是项目根目录,Python会以工作目录为基准搜索模块,无法定位到Stubs目录。

解决方法

  1. 确认Stubs为合法模块
    在Stubs目录下创建空的__init__.py文件(可选但推荐,可规避部分兼容问题)。
  2. 手动添加项目根目录到Python搜索路径
    在profiler.py开头添加以下代码(根据实际目录层级调整):
    import sys
    from pathlib import Path
    # 若Stubs与profiler.py在同一父目录下,用该行
    sys.path.append(str(Path(__file__).parent))
    # 若Stubs在项目根目录,profiler.py在子目录,用该行
    sys.path.append(str(Path(__file__).parent.parent))
    
  3. 配置正确的Python解释器
    按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入Python: Select Interpreter,选择当前项目对应的Python环境(如虚拟环境的解释器)。
  4. 调整VSCode工作目录
    • 直接将项目根目录拖入VSCode打开,确保工作目录为项目根;
    • 打开VSCode设置(Ctrl+,),搜索python.terminal.executeInFileDir并勾选,让终端在脚本所在目录执行。
  5. 使用相对导入(适用于profiler与Stubs同层级场景)
    将导入语句改为from .Stubs.aaa import a(开头的点代表当前目录),直接运行时需配合-m参数,比如python -m your_project.profiler(your_project为项目根目录名)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:02:04