选中内容(绿色)时除了会搜索文章名,还会搜索文章内容
点击结果中的文章名进入文章界面后可以按Ctrl+F在页面内搜索
  • 版权:CC BY-SA 4.0
  • 创建:2022-02-23
  • 更新:2022-08-27


报错内容

qt.qpa.plugin: Could not load the Qt platform plugin “xcb” in “/home/*/.local/lib/python3.9/site-packages/cv2/qt/plugins” 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.

原因和解决方法

  • 一种是因为没有安装包, 比如 系统没装 libxcb 包呀, 或者版本依赖等等啊,百度一下按照方法装一下包,更新一下软件等就 ok。
    方法:
    先打开调试信息:
    1. export QT_DEBUG_PLUGINS=1
    然后再执行程序,看报错信息,比如
    1. PyQt5/Qt5/plugins/platforms/libqxcb.so: (libxcb-icccm.so.4: cannot open shared object file: No such file or directory)"
    可知, libxcb-icccm4 没有找到,装一下即可
    1. sudo apt install libxcb-icccm4
    比如又报错找不到libxcb-image
    1. sudo apt install libxcb-icccm4 libxcb-image0

比如 pyqtgragh 依赖的

  1. DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends \
  2. xvfb \
  3. x11-utils \
  4. libxkbcommon-x11-0 \
  5. libxcb-icccm4 \
  6. libxcb-image0 \
  7. libxcb-keysyms1 \
  8. libxcb-randr0 \
  9. libxcb-render-util0 \
  10. libxcb-xkb1 \
  11. libegl1-mesa \
  12. libxcb-xinerama0 \
  13. libglib2.0-0 \
  14. libopengl0

可以参考 https://github.com/j9ac9k/pyqtgraph/blob/master/.github/workflows/main.yml

  • 另外一种是依赖问题, 比如 pyqt5 和 opencv(cv2)一起用,就会报这个错,两种解决方法
    • 第一种, 直接将 python 包中的site-packages/cv2/qt/plugins/platforms 里面有个libxcb.a文件 删除即可
    • 第二种,根据这里 的方法, 设置一下环境变量也ok
  1. import os
  2. from PyQt5.QtCore import QLibraryInfo
  3. # from PySide2.QtCore import QLibraryInfo
  4. import cv2
  5. os.environ["QT_QPA_PLATFORM_PLUGIN_PATH"] = QLibraryInfo.location(
  6. QLibraryInfo.PluginsPath
  7. )

qt.qpa.xcb: could not connect to display

估计是代码里面哪里调用了界面显示,解决办法是找到显示的地方删除, 比如 cv2.imshow(), 如果不是自己写的代码,很难找到显示的地方,那么想办法虚拟一个 xserver,跳过显示即可,使用 xvfb 即可,在命令前加就好了

  1. xvfb-run python3 -m pyqtgraph.util.get_resolution

可以自定义参数

  1. xvfb-run --server-args="-screen 0, 1920x1200x24 -ac +extension GLX +render -noreset" python -m pyqtgraph.util.get_resolution

参考 pyqtgraph 的 ci 做法: https://github.com/j9ac9k/pyqtgraph/blob/master/.github/workflows/main.yml

  1. DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends \
  2. xvfb \
  3. x11-utils \
  4. libxkbcommon-x11-0 \
  5. libxcb-icccm4 \
  6. libxcb-image0 \
  7. libxcb-keysyms1 \
  8. libxcb-randr0 \
  9. libxcb-render-util0 \
  10. libxcb-xkb1 \
  11. libegl1-mesa \
  12. libxcb-xinerama0 \
  13. libglib2.0-0 \
  14. libopengl0
文章有误?有想法想讨论?查看或者发起勘误/讨论 主题
(发起评论需要先登录 github)

/wallpaper/wallhaven-738mde.jpg