我尝试启动依赖于QtWebKit的应用,但我无法导入该模块。我通过启动python并导入其他模块来尝试调试。它们都运行正常(例如从PyQt4导入QtGui,QtCore)工作没有任何问题,但当我运行
from PyQt4 import QtGui, QtCore, QtWebKit
我收到以下内容:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name QtWebKit
我也尝试过以下无效(它们安装得很好但不解决问题):
apt-get install --reinstall python-qt4
apt-get install --reinstall python-2.7
答案 0 :(得分:7)
这是应用程序的问题,sparta?。 Kali Rolling所基于的Debian Stretch在PyQt4中有mothballed QtWebKit。
最新版本不包含QtWebkit.so。
不幸的是,需要更新有问题的代码以使用替代方案,例如PyQt5等效模块。
有关此问题的错误报告可在2016年6月2日的kali bug报告网站上找到
同时,如果它是斯巴达,你现在需要它的功能:
apt-get install python-pyside.qtwebkit
将副本从https://github.com/SECFORCE/sparta克隆到适合的地方,在我的情况下/ opt / recon / sparta,这样可以保留系统版本,以便可以正常修复更新。
编辑sparta.py
从第22行删除QtWebKit 插入第26至30行的代码
21 try:
22 from PyQt4 import QtGui, QtCore
23 except:
24 print "[-] Import failed. PyQt4 library not found. \nTry installing it with: apt-get install python-qt4"
25 exit()
26 try:
27 from PySide import QtWebKit
28 except:
29 print "[-] Import failed. QtWebkit library not found. \nTry installing it with: apt-get install python-pyside.qtwebkit"
30 exit()
编辑ui / view.py
评论第15行
15 #from PyQt4 import QtWebKit # to show html code (help menu)
16 from PySide import QtWebKit # to show html code (help menu)
编辑第54行原文可以在下面看到
54 self.helpWidget.load(QUrl('./doc/help.html'))
这应该修改为
54 self.helpWidget.load('./doc/help.html')
免责声明这是一个5分钟的修复,请查看项目主页以获取长期修复。
答案 1 :(得分:0)
最新版sparta和Kali:
Linux kali 4.14.0-kali1-amd64#1 SMP Debian 4.14.2-1kali1(2017-12-04)x86_64 GNU / Linux
您需要修改:
评论:
16#from PyQt4 import QtWebKit
添加:
17来自PySide导入QtWebKit
修改:
54 self.helpWidget.load('。/ doc / help.html')
答案 2 :(得分:0)
不幸的是,开发人员没有时间和资源来永久解决问题。但是你可以在这里更新并兼容Kali版本 https://github.com/alexxn/sparta
答案 3 :(得分:0)
安装python3-pyqt5.qtwebkit
解决方案在这里: https://github.com/sourcepole/qgis-openlayers-plugin/issues/56#issuecomment-387223048
为我工作