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

使用tox运行Pytest时出现AttributeError: module 'py' has no attribute 'io'错误

解决 AttributeError: module 'py' has no attribute 'io' 问题

这个错误的核心原因是**py库版本不兼容**——pytest仓库当前代码依赖的py库版本和你环境中安装的版本不匹配,或者全局环境的py模块污染了tox的隔离环境。

下面是具体的修复步骤:

  • 首先进入pytest仓库目录:

    cd pytest
    
  • 清理tox缓存的旧虚拟环境,避免残留依赖干扰:

    tox -r
    

    这个命令会强制重新创建所有测试环境,彻底清除之前的缓存内容。

  • 检查仓库依赖约束并更新本地py库版本:
    打开仓库根目录下的pyproject.toml或setup.py,确认其中对py库的版本要求(当前pytest通常要求py>=1.10.0)。如果本地安装的版本过低,手动安装符合要求的版本:

    pip install "py>=1.10.0"
    
  • 强制tox完全隔离全局环境:
    若全局环境的旧版本py模块仍在干扰,运行tox时添加参数强制隔离系统site-packages:

    tox --no-site-packages
    
  • 最后重新运行tox:

    tox
    

如果问题依然存在,检查你的Python版本是否符合pytest仓库的要求——部分旧Python版本(如3.6及以下)可能和新版py库不兼容,切换到仓库指定的Python版本后重试即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 02:24:52