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

Pytest内部应用插件无法被发现,按文档配置遇ImportError求助

解决Pytest同目录插件导入失败的问题

问题原因

pytest默认不会将tests/目录添加到Python的模块搜索路径(sys.path)中,因此直接通过MyPlugin导入同目录插件时,Python无法定位到该模块,从而抛出ImportError。

可行解决方案

1. 临时修改Python路径后运行pytest

在终端执行pytest命令时,把tests/目录加入PYTHONPATH:

  • Linux/macOS环境:
PYTHONPATH=./tests pytest -s
  • Windows命令提示符环境:
set PYTHONPATH=./tests && pytest -s

设置后Python就能识别同目录下的MyPlugin模块,直接使用pytest_plugins = ["MyPlugin"]即可正常加载插件。

2. 在代码中手动添加模块搜索路径

在test_TestPlugin.py或conftest.py的最开头插入以下代码,将当前文件所在的tests/目录添加到模块搜索路径:

import sys
from pathlib import Path

# 将tests目录加入Python模块搜索路径
sys.path.append(str(Path(__file__).parent))

pytest_plugins = ["MyPlugin",]

添加完成后直接运行pytest -s,插件即可正常被加载。

3. 将tests目录转为Python包

在tests/目录下创建一个空的__init__.py文件,让该目录成为可导入的Python包。此时仍需使用pytest_plugins = ["tests.MyPlugin"]导入插件,但这是符合Python项目结构规范的做法,适合长期维护的项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 22:24:55