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

加载conftest.py时遇ImportError:缺少必填字段'lineno'

解决方法

核心原因

Coverage 5.0版本不兼容Python 3.10,Python 3.10对字节码结构做了调整,老版本Coverage无法处理新的alias节点中的lineno字段,导致加载conftest.py时抛出错误。

具体修复步骤

  • 卸载旧版本Coverage:
    pip uninstall -y coverage
    
  • 安装兼容Python 3.10的Coverage版本(建议安装最新稳定版):
    pip install coverage>=6.0
    
  • 清理测试缓存,避免旧缓存干扰:
    删除项目中的__pycache__文件夹、.pytest_cache目录和.coverage文件(如果存在)。
  • 重新执行测试命令:
    coverage run -m pytest -s tests
    

额外排查(如果上述步骤无效)

  • 检查conftest.py中的导入语句,确保没有使用错误的相对导入或循环导入。
  • 验证虚拟环境是否正确激活,避免全局包与虚拟环境包冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 15:05:20