文章目录
一、简介
-
本文提到的报错信息,是在 ubuntu-22.04 中通过 miniconda3 创建的 python-3.10 版本的虚拟环境下安装的
labelImg提示的报错。推荐使用 conda 指令安装:conda install -c conda-forge labelimg -y,使用 pip 安装就会有下面的各类报错信息。 -
参考如下版本信息,如果有相关的报错可以参考本文的解决方法。部分问题也可以通过 减低版本 来解决,需要具体情况具体分析。这里不保证完全有效,仅供参考。
bash# Name Version Build Channel _libgcc_mutex 0.1 main _openmp_mutex 5.1 1_gnu bzip2 1.0.8 h5eee18b_6 ca-certificates 2025.12.2 h06a4308_0 expat 2.7.3 h7354ed3_4 labelimg 1.8.6 pypi_0 pypi ld_impl_linux-64 2.44 h153f514_2 libexpat 2.7.3 h7354ed3_4 libffi 3.4.4 h6a678d5_1 libgcc 15.2.0 h69a1729_7 libgcc-ng 15.2.0 h166f726_7 libgomp 15.2.0 h4751f2c_7 libnsl 2.0.0 h5eee18b_0 libstdcxx 15.2.0 h39759b7_7 libstdcxx-ng 15.2.0 hc03a8fd_7 libuuid 1.41.5 h5eee18b_0 libxcb 1.17.0 h9b100fa_0 libzlib 1.3.1 hb25bd0a_0 lxml 6.0.2 pypi_0 pypi ncurses 6.5 h7934f7d_0 openssl 3.0.18 hd6dcaed_0 pip 25.3 pyhc872135_0 pthread-stubs 0.3 h0ce48e5_1 pyqt5 5.15.11 pypi_0 pypi pyqt5-qt5 5.15.18 pypi_0 pypi pyqt5-sip 12.17.2 pypi_0 pypi python 3.10.19 h6fa692b_0 readline 8.3 hc2a1206_0 setuptools 80.9.0 py310h06a4308_0 sqlite 3.51.0 h2a70700_0 tk 8.6.15 h54e0aa7_0 tzdata 2025b h04d1e81_0 wheel 0.45.1 py310h06a4308_0 xorg-libx11 1.8.12 h9b100fa_1 xorg-libxau 1.0.12 h9b100fa_0 xorg-libxdmcp 1.1.5 h9b100fa_0 xorg-xorgproto 2024.1 h5eee18b_1 xz 5.6.4 h5eee18b_1 zlib 1.3.1 hb25bd0a_0
二、libGL 报错&解决方法
-
容器是精简版的 Linux,默认没有 libGL 图形驱动库,所以会提示找不到文件。
bashTraceback (most recent call last): File "/opt/miniconda3/envs/labelImg/lib/python3.10/site-packages/labelImg/labelImg.py", line 18, in <module> from PyQt5.QtGui import * ImportError: libGL.so.1: cannot open shared object file: No such file or directory During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/miniconda3/envs/labelImg/bin/labelImg", line 3, in <module> from labelImg.labelImg import main File "/opt/miniconda3/envs/labelImg/lib/python3.10/site-packages/labelImg/labelImg.py", line 27, in <module> import sip ModuleNotFoundError: No module named 'sip' -
执行如下指令解决上述
libGL报错。bashapt update && apt install -y libgl1-mesa-glx libglib2.0-0 libx11-xcb1 -
执行如下指令解决上述
python依赖,其实在安装labelimg的时候已经安装过了。bash# 1. 先安装 pyqt5 相关的 sip pip install PyQt5-sip # 2. 重新安装 pyqt5 (确保版本完整) pip install PyQt5 # 3. 如果依然报错,尝试安装特定版本的 lxml pip install lxml -
需要注意,容器内指定的显示器编号需要和宿主机一致,并且需要具有权限可视化,应最先确认如下信息。
bashecho $DISPLAY # 获取宿主机显示器编号 echo "export DISPLAY=:1" >> ~/.bashrc # 在容器内指定相同编号,以 1 为例
三、xcb 插件报错&解决方法
-
报错 xcb 插件加载失败,是因为 PyQt5 运行所需的底层 XCB 相关库在容器内还不完整。
bashqt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb. Aborted (core dumped) -
执行如下指令,补齐
Qt5缺失的所有xcb依赖。bashapt update && apt install -y \ libxcb-xinerama0 \ libxcb-icccm4 \ libxcb-image0 \ libxcb-keysyms1 \ libxcb-render-util0 \ libxcb-xfixes0 \ libxcb-shape0 \ libxcb-randr0 \ libxkbcommon-x11-0 \ libdbus-1-3
小结
以上内容作为错误记录,仅供参考,不保证完全有效。如有其他问题欢迎在评论区讨论!!