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

Python导包报ModuleNotFoundError: No module named错误排查

报错核心原因

ModuleNotFoundError: No module named 'Bot_Tracker'的本质是Python模块搜索路径未覆盖Bot_Tracker包所在的目录:

  • 直接运行Tests/test_matchhistory.py时,Python默认会将脚本自身所在的Tests/目录加入模块搜索路径,但Bot_Tracker是与Tests平级、存放在code/目录下的包,不在当前搜索路径范围内,因此无法被识别。
解决方案

以下方案按适用场景排序,按需选择即可:

  • 单脚本快速调试:手动追加搜索路径
    在test_matchhistory.py的所有业务导入语句之前,添加如下代码,手动将Bot_Tracker所在的父目录加入搜索路径:

    import sys
    from pathlib import Path
    # 定位当前脚本的上两级目录(即code/目录)并加入搜索路径
    sys.path.append(str(Path(__file__).parent.parent.resolve()))
    
    # 原有导入语句无需修改,可正常执行
    from Bot_Tracker.matchhistory import compMatchHistory
    

    该方案无需改动项目结构,适合临时跑测试用,注意路径层级不要写错。

  • 不改代码运行:使用模块模式启动脚本
    终端切换到code/目录下,不要直接指定脚本路径运行,而是通过-m参数以模块模式执行测试:

    # 先切到code目录
    cd /path/to/your/code
    # 以模块方式运行测试文件
    python -m Tests.test_matchhistory
    

    该模式下Python会自动将当前终端所在的code/目录加入搜索路径,可直接识别平级的Bot_Tracker包。

  • 长期项目维护:以可编辑模式安装项目
    在code/目录下新建pyproject.toml配置文件,写入基础配置:

    [build-system]
    requires = ["setuptools>=61.0"]
    build-backend = "setuptools.build_meta"
    
    [project]
    name = "BotTracker"
    version = "0.0.1"
    packages = ["Bot_Tracker"]
    

    随后在code/目录下执行安装命令:

    pip install -e .
    

    安装完成后,当前Python环境会永久识别Bot_Tracker包,无论在哪个路径运行项目相关脚本都不会触发导入错误,适合长期开发的项目使用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 00:24:37