EAF现在针对所有Linux发行版都用pip来安装PyQt6,避免一些发行版软件仓库太旧没有PyQt6软件包。
但是PIP版本的PyQt6有一个Bug,当登录网站的时候会直接奔溃,类似下面的错误:
Thread 1 "python3" received signal SIGTRAP, Trace/breakpoint trap.
0x00007fffede3edc1 in ?? () from /usr/lib/python3.10/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6
#0 0x00007fffede3edc1 in () at /usr/lib/python3.10/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6
#1 0x0000555555a9dc98 in ()
#2 0x00000000000000f0 in ()
#3 0x00007fffffffc6a0 in ()
#4 0x000055555616c2d8 in ()
#5 0x00007fffffffc5a0 in ()
#6 0x00007fffedcb3801 in () at /usr/lib/python3.10/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6
#7 0x00007fffffffc550 in ()
#8 0x00007fffffffc5f0 in ()
#9 0x00000000000000e0 in ()
#10 0x0ec4e89c28622e00 in ()
#11 0x00007fff442e1750 in ()
#12 0xffffffffffffff80 in ()
#13 0x0000000000000000 in ()
解决方法就是在Linux发行版中安装Qt6WebEngine软件包,再把 libQt6WebEngineCore.so.6 文件软链接到 PyQt6 的目录就可以修复崩溃的问题,下面是各Linux发行版的解决方案:
- Fedora, 安装
qt6-qtwebengine-libs
并运行sudo ln -sf /usr/lib64/libQt6WebEngineCore.so.6 /usr/lib/python3.10/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6
- Gentoo, 安装包括
libQt6WebEngineCore.so.6
的软件包, 软链接文件到 /usr/lib/python3.10/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6 - Debian/Ubuntu, 安装
libqt6webenginecore6
并运行sudo ln -sf /usr/lib/x86_64-linux-gnu/libQt6WebEngineCore.so.6 /usr/lib/python3.10/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6
- Arch, 安装
qt6-webengine
并运行sudo ln -sf /usr/lib/libQt6WebEngineCore.so.6 /usr/lib/python3.10/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6
- OpenBSD, 安装包括
libQt6WebEngineCore.so.6
的软件包, 软链接文件到 /usr/lib/python3.10/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6 - Suse, 安装
libQt6WebEngineCore6
并运行sudo ln -sf /usr/lib/libQt6WebEngineCore.so.6 /usr/lib/python3.10/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6
- Mac, 安装包括
libQt6WebEngineCore.so.6
的软件包, 软链接文件到 /usr/lib/python3.10/site-packages/PyQt6/Qt6/lib/libQt6WebEngineCore.so.6