在 Fedora 25 中,我尝试使用 QT 5 编译 Python 3+ 并遇到以下错误:
File "/usr/lib/anki/aqt/qt.py", line 17, in <module>
from PyQt5.QtWebEngineWidgets import QWebEnginePage
ImportError: No module named 'PyQt5.QtWebEngineWidgets'
新的 QTWebEngine 应该包含这个包,下面是我为该项目安装的依赖项的列表:
dnf install -y python3
dnf install -y python3-devel
dnf install -y qt5
dnf install -y python3-qt5
dnf install -y python3-qt5-devel
dnf install qt5-qtwebengine-devel
dnf install qt5-qtwebengine
也许这是一个$PATH
问题?为了咯咯笑,我试着跑
pip3 install pyqt5
BOOM..PIP 拯救了一切。之前/之后仍然看起来$PATH
相同,就像:
/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/tcruise/.local/bin:/home/tcruise/bin
PIP 是否有一些神秘的独角兽力量,还是我没有抓住要点?
谢谢各位的麻烦。
答案1
这实际上很容易解释:您还没有安装 PyQt5 的 QtWebEngine 组件。
(在 Fedora 28 中...)
$ sudo dnf install python3-qt5-webengine
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
python3-qt5-webengine x86_64 5.10.1-4.fc28 updates 113 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 113 k
Installed size: 449 k
Is this ok [y/N]:
当时和现在一样,PyQt5 包并不是单一的。某些组件被分解为子包。
$ sudo dnf list python3-qt5-\*
Installed Packages
python3-qt5-base.x86_64 5.10.1-4.fc28 @updates
python3-qt5-devel.x86_64 5.10.1-4.fc28 @updates
python3-qt5-webengine.x86_64 5.10.1-4.fc28 @updates
python3-qt5-webkit.x86_64 5.10.1-4.fc28 @updates