Als ich versuchte, PyQt5 mit wsl2 zu verwenden, hatte ich ein Problem und machte mir eine Notiz. Der japanische Artikel sagte, dass apt install das Problem lösen würde, aber ich tat es nicht.
――Ich möchte PyQt5 verwenden
$ main.py
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
sudo apt install libxkbcommon-x11-0
Das war nicht genug. Das ist auch nötig!
Finden Sie zuerst heraus, wo sich libqeglfs.so befindet.
find / -name libqeglfs.so
Eine solche. Die Ausführungszeit kann jedoch schwierig sein. Zum Beispiel
export QT_DEBUG_PLUGINS=1
Wenn Sie in den Debug-Modus wechseln und die Python-Zieldatei ausführen
Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/path/to/python/bin/platforms" ...
Cannot load library /path/to/python/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so: (libxcb-icccm.so.4: cannot open shared object file: No such file or directory)
QLibraryPrivate::loadPlugin failed on "/path/to/python/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so" : "Cannot load library /home/path/to/python/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so: (libxcb-icccm.so.4: cannot open shared object file: No such file or directory)"
So etwas erscheint gegen Ende (der Pfad zu Python wurde als "Pfad / zu / Python" umgeschrieben).
Wenn Sie das finden https://forum.qt.io/topic/115732/could-not-load-the-qt-platform-plugin-xcb-in-even-though-it-was-found Und so weiter
ldd /path/to/python/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so
Du solltest es tun. Wenn es schwer zu sehen ist, können Sie | grep" not found "
hinzufügen.
Hier erfahren Sie, was fehlt, z.
$ ldd /path/to/python/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so | grep "not found"
libxcb-icccm.so.4 => not found
libxcb-image.so.0 => not found
libxcb-keysyms.so.1 => not found
libxcb-render-util.so.0 => not found
libxcb-xinerama.so.0 => not found
libxcb-icccm.so.4 => not found
libxcb-image.so.0 => not found
libxcb-keysyms.so.1 => not found
libxcb-render-util.so.0 => not found
libxcb-xinerama.so.0 => not found
Weil es ... war
sudo apt install libxkbcommon-x11-0
sudo apt install libxcb-icccm4
sudo apt install libxcb-image0
sudo apt install libxcb-keysyms1
sudo apt install libxcb-render-util0
sudo apt install libxcb-xinerama0
Dann fing es an zu arbeiten. Herzliche Glückwünsche.
Recommended Posts