解决在 Docker 中启动 labelme 的相关报错

文章目录

  • 一、简介
  • [二、conda 安装的报错&解决方法](#二、conda 安装的报错&解决方法)
  • [三、pip 安装的报错&解决方法](#三、pip 安装的报错&解决方法)
  • 小结

一、简介

  1. 本文提到的报错信息,是在 ubuntu-22.04 中通过 miniconda3 创建的 python-3.10 版本的虚拟环境下安装的 labelme 提示的报错。使用 conda 指令安装:conda install -c conda-forge labelme,而不是 pip 安装是因为报错会更少,依赖更完整。

  2. 参考如下版本信息,如果有相关的报错可以参考本文的解决方法执行。部分问题也可以通过减低版本 来解决,需要具体情况具体分析。这里不保证完全有效,仅供参考。

    bash 复制代码
    # Name                    Version                   Build  Channel
    _libgcc_mutex             0.1                        main  
    _openmp_mutex             5.1                       1_gnu  
    alsa-lib                  1.2.15.1             hb03c661_0    conda-forge
    aom                       3.9.1                hac33072_0    conda-forge
    attr                      2.5.2                h39aace5_0    conda-forge
    blosc                     1.21.6               hef167b5_0    conda-forge
    brotli                    1.1.0                hb03c661_4    conda-forge
    brotli-bin                1.1.0                hb03c661_4    conda-forge
    brunsli                   0.1                  he3183e4_1    conda-forge
    bzip2                     1.0.8                h5eee18b_6  
    c-blosc2                  2.15.2               h68e2383_0    conda-forge
    ca-certificates           2026.1.4             hbd8a1cb_0    conda-forge
    cairo                     1.18.4               h3394656_0    conda-forge
    charls                    2.4.2                h59595ed_0    conda-forge
    cmap                      0.6.2              pyhd8ed1ab_0    conda-forge
    colorama                  0.4.6              pyhd8ed1ab_1    conda-forge
    contourpy                 1.3.2           py310h3788b33_0    conda-forge
    cycler                    0.12.1             pyhcf101f3_2    conda-forge
    cyrus-sasl                2.1.28               hd9c7081_0    conda-forge
    dav1d                     1.2.1                hd590300_0    conda-forge
    dbus                      1.16.2               h3c4dab8_0    conda-forge
    expat                     2.7.3                h7354ed3_4  
    ffmpeg                    4.4.0                h6987444_4    conda-forge
    font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
    font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
    font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
    font-ttf-ubuntu           0.83                 h77eed37_3    conda-forge
    fontconfig                2.15.0               h2c49b7f_0  
    fonts-conda-ecosystem     1                             0    conda-forge
    fonts-conda-forge         1                    hc364b38_1    conda-forge
    fonttools                 4.61.1          py310h3406613_0    conda-forge
    freetype                  2.14.1               ha770c72_0    conda-forge
    giflib                    5.2.2                hd590300_0    conda-forge
    glib                      2.84.4               h5bdd934_0  
    glib-tools                2.84.4               h8875d55_0  
    gmp                       6.3.0                hac33072_2    conda-forge
    gnutls                    3.6.13               h85f3911_1    conda-forge
    graphite2                 1.3.14               hecca717_2    conda-forge
    gst-plugins-base          1.24.11              h651a532_0    conda-forge
    gstreamer                 1.24.11              hc37bda9_0    conda-forge
    harfbuzz                  11.4.5               h15599e2_0    conda-forge
    icu                       75.1                 he02047a_0    conda-forge
    imagecodecs               2024.9.22       py310hdbe5077_0    conda-forge
    imageio                   2.37.0             pyhfb79c49_0    conda-forge
    imgviz                    1.8.0              pyhd8ed1ab_0    conda-forge
    importlib-metadata        8.7.0              pyhe01879c_1    conda-forge
    joblib                    1.5.3              pyhd8ed1ab_0    conda-forge
    jxrlib                    1.1                  hd590300_3    conda-forge
    keyutils                  1.6.3                hb9d3cd8_0    conda-forge
    kiwisolver                1.4.9           py310haaf941d_2    conda-forge
    krb5                      1.21.3               h659f571_0    conda-forge
    labelme                   5.2.1              pyhd8ed1ab_0    conda-forge
    lame                      3.100             h166bdaf_1003    conda-forge
    lazy-loader               0.4                pyhd8ed1ab_2    conda-forge
    lcms2                     2.17                 h717163a_0    conda-forge
    ld_impl_linux-64          2.44                 h153f514_2  
    lerc                      4.0.0                h0aef613_1    conda-forge
    libaec                    1.1.4                h3f801dc_0    conda-forge
    libavif16                 1.3.0                h6395336_2    conda-forge
    libblas                   3.11.0          5_h4a7cf45_openblas    conda-forge
    libbrotlicommon           1.1.0                hb03c661_4    conda-forge
    libbrotlidec              1.1.0                hb03c661_4    conda-forge
    libbrotlienc              1.1.0                hb03c661_4    conda-forge
    libcap                    2.77                 h3ff7636_0    conda-forge
    libcblas                  3.11.0          5_h0358290_openblas    conda-forge
    libclang-cpp20.1          20.1.8          default_h99862b1_6    conda-forge
    libclang13                21.1.0          default_h746c552_1    conda-forge
    libcups                   2.3.3                hb8b1518_5    conda-forge
    libdeflate                1.22                 hb9d3cd8_0    conda-forge
    libdrm                    2.4.125              hb03c661_1    conda-forge
    libedit                   3.1.20250104    pl5321h7949ede_0    conda-forge
    libegl                    1.7.0                ha4b6fd6_2    conda-forge
    libevent                  2.1.12               hf998b51_1    conda-forge
    libexpat                  2.7.3                h7354ed3_4  
    libffi                    3.4.4                h6a678d5_1  
    libflac                   1.5.0                he200343_1    conda-forge
    libfreetype               2.14.1               ha770c72_0    conda-forge
    libfreetype6              2.14.1               h73754d4_0    conda-forge
    libgcc                    15.2.0               h69a1729_7  
    libgcc-ng                 15.2.0               h166f726_7  
    libgfortran               15.2.0              h69a702a_16    conda-forge
    libgfortran5              15.2.0              h68bc16d_16    conda-forge
    libgl                     1.7.0                ha4b6fd6_2    conda-forge
    libglib                   2.84.4               h77a78f3_0  
    libglvnd                  1.7.0                ha4b6fd6_2    conda-forge
    libglx                    1.7.0                ha4b6fd6_2    conda-forge
    libgomp                   15.2.0               h4751f2c_7  
    libhwy                    1.3.0                h4c17acf_1    conda-forge
    libiconv                  1.18                 h3b78370_2    conda-forge
    libjpeg-turbo             3.1.2                hb03c661_0    conda-forge
    libjxl                    0.11.1               h6cb5226_4    conda-forge
    liblapack                 3.11.0          5_h47877c9_openblas    conda-forge
    libllvm20                 20.1.8               hecd9e04_0    conda-forge
    libllvm21                 21.1.0               hecd9e04_0    conda-forge
    liblzma                   5.8.1                hb9d3cd8_2    conda-forge
    liblzma-devel             5.8.1                hb9d3cd8_2    conda-forge
    libnsl                    2.0.0                h5eee18b_0  
    libntlm                   1.8                  hb9d3cd8_0    conda-forge
    libogg                    1.3.5                hd0c01bc_1    conda-forge
    libopenblas               0.3.30          pthreads_h94d23a6_4    conda-forge
    libopengl                 1.7.0                ha4b6fd6_2    conda-forge
    libopus                   1.6                  h0fd0de7_0    conda-forge
    libpciaccess              0.18                 hb9d3cd8_0    conda-forge
    libpng                    1.6.53               h421ea60_0    conda-forge
    libpq                     17.7                 h5c52fec_1    conda-forge
    libsndfile                1.2.2                hc7d488a_2    conda-forge
    libsqlite                 3.51.1               h0c1763c_1    conda-forge
    libstdcxx                 15.2.0               h39759b7_7  
    libstdcxx-ng              15.2.0               hc03a8fd_7  
    libsystemd0               258.3                h6569c3e_0    conda-forge
    libtiff                   4.7.0                he137b08_1    conda-forge
    libuuid                   1.41.5               h5eee18b_0  
    libvorbis                 1.3.7                h54a6638_2    conda-forge
    libvpx                    1.11.0               h9c3ff4c_3    conda-forge
    libwebp-base              1.6.0                hd42ef1d_0    conda-forge
    libxcb                    1.17.0               h9b100fa_0  
    libxcrypt                 4.4.36               hd590300_1    conda-forge
    libxkbcommon              1.11.0               he8b52b9_0    conda-forge
    libxml2                   2.13.9               h04c0eec_0    conda-forge
    libzlib                   1.3.1                hb25bd0a_0  
    libzopfli                 1.0.3                h9c3ff4c_0    conda-forge
    lz4-c                     1.9.4                hcb278e6_0    conda-forge
    matplotlib-base           3.10.8          py310hfde16b3_0    conda-forge
    mpg123                    1.32.9               hc50e24c_0    conda-forge
    munkres                   1.1.4              pyhd8ed1ab_1    conda-forge
    natsort                   8.4.0              pyh29332c3_1    conda-forge
    ncurses                   6.5                  h7934f7d_0  
    nettle                    3.6                  he412f7d_0    conda-forge
    networkx                  3.4.2              pyh267e887_2    conda-forge
    nspr                      4.38                 h29cc59b_0    conda-forge
    nss                       3.118                h445c969_0    conda-forge
    numpy                     2.2.6           py310hefbff90_0    conda-forge
    openh264                  2.1.1                h4ff587b_0  
    openjpeg                  2.5.3                h55fea9a_1    conda-forge
    openldap                  2.6.10               he970967_0    conda-forge
    openssl                   3.6.0                h26f9b46_0    conda-forge
    packaging                 25.0               pyh29332c3_1    conda-forge
    pcre2                     10.46                h1321c63_0    conda-forge
    pillow                    11.3.0          py310h6557065_3    conda-forge
    pip                       25.3               pyhc872135_0  
    pixman                    0.46.4               h54a6638_1    conda-forge
    ply                       3.11               pyhd8ed1ab_3    conda-forge
    pthread-stubs             0.3                  h0ce48e5_1  
    pulseaudio-client         17.0                 hac146a9_1    conda-forge
    pyglet                    2.1.11             pyhd8ed1ab_0    conda-forge
    pyparsing                 3.3.1              pyhcf101f3_0    conda-forge
    pyqt                      5.15.11         py310h046fae5_2    conda-forge
    pyqt5-sip                 12.17.0         py310hea6c23e_2    conda-forge
    python                    3.10.19              h6fa692b_0  
    python-dateutil           2.9.0.post0        pyhe01879c_2    conda-forge
    python_abi                3.10                    2_cp310    conda-forge
    pywavelets                1.8.0           py310hf462985_0    conda-forge
    pyyaml                    6.0.3           py310h3406613_0    conda-forge
    qhull                     2020.2               h434a139_5    conda-forge
    qt-main                   5.15.15              h3a7ef08_5    conda-forge
    qtpy                      2.4.3              pyhd8ed1ab_1    conda-forge
    rav1e                     0.7.1                h8fae777_3    conda-forge
    readline                  8.3                  hc2a1206_0  
    scikit-image              0.25.2          py310h0158d43_2    conda-forge
    scikit-learn              1.7.2           py310h228f341_0    conda-forge
    scipy                     1.15.2          py310h1d65ade_0    conda-forge
    setuptools                80.9.0          py310h06a4308_0  
    sip                       6.10.0          py310hea6c23e_1    conda-forge
    six                       1.17.0             pyhe01879c_1    conda-forge
    snappy                    1.2.2                h03e3b7b_1    conda-forge
    sqlite                    3.51.0               h2a70700_0  
    svt-av1                   3.1.2                hecca717_0    conda-forge
    termcolor                 3.3.0              pyhd8ed1ab_0    conda-forge
    threadpoolctl             3.6.0              pyhecae5ae_0    conda-forge
    tifffile                  2024.12.12         pyhd8ed1ab_0    conda-forge
    tk                        8.6.15               h54e0aa7_0  
    toml                      0.10.2             pyhcf101f3_3    conda-forge
    tomli                     2.3.0              pyhcf101f3_0    conda-forge
    tzdata                    2025b                h04d1e81_0  
    unicodedata2              17.0.0          py310h7c4b9e2_1    conda-forge
    wheel                     0.45.1          py310h06a4308_0  
    x264                      1!161.3030           h7f98852_1    conda-forge
    x265                      3.5                  h924138e_3    conda-forge
    xcb-util                  0.4.1                h4f16b4b_2    conda-forge
    xcb-util-image            0.4.0                hb711507_2    conda-forge
    xcb-util-keysyms          0.4.1                hb711507_0    conda-forge
    xcb-util-renderutil       0.3.10               hb711507_0    conda-forge
    xcb-util-wm               0.4.2                hb711507_0    conda-forge
    xkeyboard-config          2.46                 hb03c661_0    conda-forge
    xorg-libice               1.1.2                hb9d3cd8_0    conda-forge
    xorg-libsm                1.2.6                h9b100fa_0  
    xorg-libx11               1.8.12               h9b100fa_1  
    xorg-libxau               1.0.12               h9b100fa_0  
    xorg-libxcomposite        0.4.6                hb9d3cd8_2    conda-forge
    xorg-libxdamage           1.1.6                hb9d3cd8_0    conda-forge
    xorg-libxdmcp             1.1.5                h9b100fa_0  
    xorg-libxext              1.3.6                hb9d3cd8_0    conda-forge
    xorg-libxfixes            6.0.2                hb03c661_0    conda-forge
    xorg-libxrender           0.9.12               hb9d3cd8_0    conda-forge
    xorg-libxshmfence         1.3.3                hb9d3cd8_0    conda-forge
    xorg-libxxf86vm           1.1.6                hb9d3cd8_0    conda-forge
    xorg-xorgproto            2024.1               h5eee18b_1  
    xz                        5.8.1                hbcc6ac9_2    conda-forge
    xz-gpl-tools              5.8.1                hbcc6ac9_2    conda-forge
    xz-tools                  5.8.1                hb9d3cd8_2    conda-forge
    yaml                      0.2.5                h280c20c_3    conda-forge
    zfp                       1.0.1                h909a3a2_5    conda-forge
    zipp                      3.23.0             pyhcf101f3_1    conda-forge
    zlib                      1.3.1                hb25bd0a_0  
    zlib-ng                   2.2.5                hde8ca8f_1    conda-forge
    zstd                      1.5.7                hb78ec9c_6    conda-forge

二、conda 安装的报错&解决方法

  1. conda-forge 的设计选择不会自动装 Qt 绑定,所以需要手动安装。

    bash 复制代码
    Traceback (most recent call last):                                                                                                                                                                                 
      File "/opt/miniconda3/envs/labelme/bin/labelme", line 6, in <module>                                                                                                                                             
        from labelme.__main__ import main                                                                                                                                                                              
      File "/opt/miniconda3/envs/labelme/lib/python3.10/site-packages/labelme/__init__.py", line 6, in <module>                                                                                                        
        from qtpy import QT_VERSION                                                                                                                                                                                    
      File "/opt/miniconda3/envs/labelme/lib/python3.10/site-packages/qtpy/__init__.py", line 293, in <module>                                                                                                         
        raise QtBindingsNotFoundError from None                                                                                                                                                                        
    qtpy.QtBindingsNotFoundError: No Qt bindings could be found 
  2. 使用如下指令安装 PyQt5 ,兼容性和稳定性最好。

    bash 复制代码
    conda install -c conda-forge pyqt=5 -y

三、pip 安装的报错&解决方法

  1. Docker 容器里缺少 GLib 的线程库依赖。

    bash 复制代码
    Traceback (most recent call last):
      File "/opt/miniconda3/envs/labelme/bin/labelme", line 3, in <module>
        from labelme.__main__ import main
      File "/opt/miniconda3/envs/labelme/lib/python3.10/site-packages/labelme/__init__.py", line 16, in <module>
        from labelme import testing
      File "/opt/miniconda3/envs/labelme/lib/python3.10/site-packages/labelme/testing.py", line 6, in <module>
        import labelme.utils
      File "/opt/miniconda3/envs/labelme/lib/python3.10/site-packages/labelme/utils/__init__.py", line 11, in <module>
        from .qt import addActions
      File "/opt/miniconda3/envs/labelme/lib/python3.10/site-packages/labelme/utils/qt.py", line 5, in <module>
        from PyQt5 import QtCore
    ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
  2. 执行如下指令解决。

    bash 复制代码
    apt update && apt install -y libglib2.0-0 libsm6 libxext6 libxrender-dev 
  3. 容器是精简版的 Linux,默认没有 libGL 图形驱动库,所以会提示找不到文件。

    bash 复制代码
    Traceback (most recent call last):
      File "/opt/miniconda3/envs/labelme/bin/labelme", line 3, in <module>
        from labelme.__main__ import main
      File "/opt/miniconda3/envs/labelme/lib/python3.10/site-packages/labelme/__init__.py", line 16, in <module>
        from labelme import testing
      File "/opt/miniconda3/envs/labelme/lib/python3.10/site-packages/labelme/testing.py", line 6, in <module>
        import labelme.utils
      File "/opt/miniconda3/envs/labelme/lib/python3.10/site-packages/labelme/utils/__init__.py", line 11, in <module>
        from .qt import addActions
      File "/opt/miniconda3/envs/labelme/lib/python3.10/site-packages/labelme/utils/qt.py", line 6, in <module>
        from PyQt5 import QtGui
    ImportError: libGL.so.1: cannot open shared object file: No such file or directory
  4. 解决上述 libGL 报错,部分包上面已经安装过。

    bash 复制代码
    apt-get install -y \
        libgl1-mesa-glx \
        libglib2.0-0 \
        libsm6 \
        libxext6 \
        libxrender-dev \
        libx11-xcb1
  5. 报错 xcb 插件加载失败,是因为 PyQt5 运行所需的底层 XCB 相关库在容器内还不完整。

    bash 复制代码
    qt.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)
  6. 执行如下指令,补齐 Qt5 缺失的所有 xcb 依赖。

    bash 复制代码
    apt update && apt install -y \
    libxcb-xinerama0 \
    libxcb-icccm4 \
    libxcb-image0 \
    libxcb-keysyms1 \
    libxcb-render-util0 \
    libxcb-xfixes0 \
    libxcb-shape0 \
    libxcb-randr0 \
    libxcb-cursor0 \
    libxcb-util1 \
    libxkbcommon-x11-0 \
    libdbus-1-3 \
    libgl1-mesa-glx \
    libglib2.0-0
  7. 如果依然报 xcb 的错误,执行如下指令排查问题。

    bash 复制代码
    # 切换到你的 labelme 环境插件目录
    cd /opt/miniconda3/envs/labelme/lib/python3.10/site-packages/PyQt5/Qt5/plugins/platforms/
    
    # 检查 libqxcb.so 的依赖状态
    ldd libqxcb.so | grep "not found"
  8. 如果有如下报错,则使用指令进一步安装:apt update && apt install -y libfontconfig1 libfreetype6负责软件界面的字体渲染。

    bash 复制代码
    libfontconfig.so.1 => not found
    libfreetype.so.6 => not found
    libfontconfig.so.1 => not found
    libfreetype.so.6 => not found

小结

以上内容作为错误记录,仅供参考,推荐使用conda install安装,麻烦事儿更少。如有其他问题欢迎在评论区讨论!!

相关推荐
ELI_He9994 小时前
Airflow docker 部署
运维·docker·容器
slient_love5 小时前
docker和docker compose部署安装
docker·容器
钱彬 (Qian Bin)6 小时前
项目实践14—全球证件智能识别系统(切换回SQLite数据库并基于Docker实现离线部署和日常管理)
运维·docker·容器·fastapi·证件识别
岚天start6 小时前
Docker部署NGINX实现服务四层转发方案
服务器·nginx·docker
牛奔7 小时前
docker compose up 命令,默认配置文件自动查找规则
java·spring cloud·docker·容器·eureka
工具罗某人7 小时前
docker快速部署jenkins
java·docker·jenkins
BigBigHang7 小时前
【docker】离线设备安装镜像
运维·docker·容器
学好statistics和DS8 小时前
Docker文件与本地文件,系统
运维·docker·容器
liuc03178 小时前
docker下安装SearXNG
运维·docker·容器
oMcLin8 小时前
如何在CentOS 8上配置并优化Docker与Kubernetes结合的容器集群,提升微服务部署效率?
docker·kubernetes·centos