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

使用Tox运行Pytest时遇ImportError:无法找到测试模块

问题解决方法

你的问题出在tox创建的虚拟环境中未正确安装项目包,也未将项目根目录加入Python的搜索路径,导致pytest无法找到相关模块。以下是两种可行的修复方案:

方案一:使用tox-poetry-installer插件管理依赖

这个方案能让tox直接复用Poetry的依赖配置,确保测试环境与本地开发环境一致:

  1. 先安装tox-poetry-installer插件:
pip install tox-poetry-installer
  1. 修改tox.ini的配置:
[tox]
env_list =
    format
    py312
requires = tox-poetry-installer>=0.10.0  # 指定依赖插件版本

[testenv:format]
description = install black in a virtual environment and invoke it on the current folder
deps = black==22.3.0
skip_install = true
commands = black .

[testenv:py312]
# 通过Poetry安装项目及所有开发依赖
install_command = poetry install --no-root {packages}
commands = pytest tests

方案二:以可编辑模式安装项目包

这个方案会将你的项目以可编辑模式安装到tox虚拟环境中,让Python能找到my_package模块:

修改tox.ini中[testenv:py312]部分:

[testenv:py312]
usedevelop = true  # 等价于执行`pip install -e .`,将项目加入虚拟环境的搜索路径
deps = pytest
commands = pytest tests

额外检查

如果你的测试文件test_my_package.py中有类似from tests import ...的导入语句,确保项目根目录在Python的sys.path中(上述两种方案都能实现这一点);如果只是导入my_package的内容,那么安装项目包后即可解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 08:40:09