This application failed to start because no Qt platform plugin could be initialized.

VSCode 可以直接运行,但是一旦启用调试模式运行就会报以下错误:

Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/home/guest/anaconda3/envs/GlobalTrack/bin/platforms" ...
loaded library "/home/guest/anaconda3/envs/GlobalTrack/lib/python3.8/site-packages/cv2/qt/plugins/platforms/libqxcb.so"
QObject::moveToThread: Current thread (0x55de87a26aa0) is not the object's thread (0x55de87cc3370).
Cannot move to target thread (0x55de87a26aa0)

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/guest/anaconda3/envs/GlobalTrack/lib/python3.8/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.

Available platform plugins are: xcb, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl.

产生该问题的原因是 cv2/qt/plugins 版本不兼容,根据错误提示可以直接查看到解决方法:Reinstalling the application may fix this problem,这里的 cv2 <--> opencv-python,因此重新安装一个低版本的即可。

# pip list | grep opencv | xargs pip uninstall -y  # 卸载 opencv-python,非必须,因为指定安装的版本后,新安装的会将原来的卸载

pip install opencv-python==  # 查看有哪些可用的 opencv-python 版本

pip install opencv-python==4.2.0.34  # 选择一个比较低的版本进行安装

你可能感兴趣的:(Python,python,cv2,opencv-python,QT)