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

解决Pytest执行时ModuleNotFoundError: No module named 'backend'问题

解决pytest执行时的ModuleNotFoundError问题

问题场景

测试文件test_logic.py中使用导入语句:

from backend.api.logic import my_class

通过VSCode的测试标签运行测试完全正常,但通过bat脚本执行以下命令时触发ModuleNotFoundError:

pytest --cov . test/

已尝试的无效方案

  • 在相关目录添加__init__.py文件
  • 在测试文件中手动将项目路径添加到sys.path

有效解决方法

在bat脚本中动态将项目根目录添加到PYTHONPATH环境变量,再执行pytest命令。示例bat脚本内容:

@echo off
:: 替换为你的项目根目录路径,若脚本在项目根目录可直接用%~dp0获取当前目录
set "PYTHONPATH=%PYTHONPATH%;C:\path\to\your\project_root"
pytest --cov . test/

如果bat脚本本身放在项目根目录下,可简化为:

@echo off
set "PYTHONPATH=%PYTHONPATH%;%~dp0"
pytest --cov . test/

原因说明

VSCode测试标签运行时会自动将项目根目录加入Python的搜索路径,而直接通过bat执行pytest时,默认不会识别项目的包结构,导致无法找到backend.api.logic模块。通过设置PYTHONPATH可以让Python解释器正确定位到项目的包目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 15:00:57