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

PyCharm运行OasisLMF项目脚本时报platform模块属性缺失错误

问题成因

这个报错的根因是当前项目目录下存在与Python标准库同名的platform模块,触发了Python的模块遮蔽机制:
Python导入模块时会按「当前工作目录 > PYTHONPATH配置路径 > 标准库路径 > 第三方库site-packages路径」的顺序搜索,只要当前项目里存在名为platform.py的脚本,或是带__init__.py的platform文件夹,执行import platform时就会优先加载这个自定义模块,而非系统自带的标准库platform。
报错链路里的attrs库(pytest的依赖)需要调用标准库platform.python_implementation()方法判断当前运行的Python解释器类型,你项目里被错误加载的自定义platform模块没有实现这个方法,就会抛出对应的AttributeError。
你在堆栈里没找到同名冲突文件是正常现象:模块遮蔽发生在导入环节,报错栈只会记录调用方法的attrs库代码位置,不会显示被错误加载的自定义模块路径。其他项目运行正常也符合这个故障特征——只有当前项目目录下存在这个冲突文件。

解决方法

按以下顺序排查操作即可:

  • 定位冲突文件
    在当前OasisLMF项目根目录全局搜索platform.py文件和名为platform的文件夹,搜索时排除venv虚拟环境目录,重点排查自己写的业务代码、测试用例目录。
  • 处理冲突文件
    找到冲突的自定义文件/文件夹后直接重命名,比如改成platform_util.py、custom_platform.py这类不与标准库重名的名称即可。
  • 清理运行缓存
    删除项目下所有__pycache__文件夹,清除旧的字节码缓存,避免缓存导致问题复现。
  • 兜底方案(上述步骤无效时使用)
    如果重命名后问题依旧,说明当前虚拟环境可能存在依赖损坏,关闭PyCharm后删除项目根目录的venv文件夹,执行以下命令重建虚拟环境:
    python3 -m venv venv
    # 激活虚拟环境后重新安装项目依赖
    pip install -r requirements.txt
    
    重启PyCharm后选择新建的虚拟环境作为项目解释器即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 13:09:16