Windows加载Ultralytics模型遇AttributeError:os无setsid属性的解决方法
解决Windows环境下Ultralytics的os.setsid属性错误
问题原因
os.setsid是类Unix系统(Linux/macOS)专属的系统调用,Windows系统的Python标准库os模块不包含该属性,因此触发AttributeError。
无需修改源码的解决方案
设置环境变量禁用setsid
在运行Python脚本前,通过命令行设置环境变量:- Windows cmd:
set YOLO_PREEXEC_FN=None - PowerShell:
$env:YOLO_PREEXEC_FN=None
完成后再执行你的代码。
- Windows cmd:
在代码开头添加环境变量配置
在导入Ultralytics库前,先配置环境变量,让库跳过preexec_fn的设置:import os os.environ["YOLO_PREEXEC_FN"] = "None" from ultralytics import YOLO model = YOLO("yolo11n-pose.pt")升级Ultralytics到最新版本
部分新版本已修复Windows环境的兼容性问题,执行升级命令:pip install --upgrade ultralytics
升级完成后重新运行代码。
内容的提问来源于stack exchange,提问作者Ashwani Shamlodhiya
相关产品推荐
相关产品推荐

