Labelme启动后闪退求助:启动即崩溃并报TypeError错误
解决Labelme启动即崩溃的QPoint类型错误
问题根源
报错核心是offsetToCenter()方法计算出的坐标值为float类型,但Qt框架的QPoint构造函数仅接受整数类型参数,导致类型不匹配,进而触发渲染异常和段错误。
修复方案一:修改源码直接修复
- 定位到报错中的文件路径:
/usr/lib/python3/dist-packages/labelme/widgets/canvas.py - 打开该文件,找到
offsetToCenter方法(对应报错的第659行) - 将返回语句中的x、y强制转换为整数:
# 原代码 return QtCore.QPoint(x, y) # 修改后 return QtCore.QPoint(int(x), int(y)) - 保存文件后,重新执行
labelme启动程序
修复方案二:虚拟环境安装新版Labelme
如果不想修改系统级文件,可通过虚拟环境安装已修复该bug的新版本:
- 卸载当前Labelme:
pip uninstall labelme -y - 创建并激活Python虚拟环境:
python3 -m venv labelme_env source labelme_env/bin/activate - 安装最新版Labelme:
pip install labelme - 激活虚拟环境后执行
labelme启动程序
内容的提问来源于stack exchange,提问作者edd1
相关产品推荐
相关产品推荐

