Python无法导入特定的PyQt4 QtWebKit模块

1 投票
1 回答
2884 浏览
提问于 2025-04-18 01:14

我在使用PyQt4的时候遇到了一个奇怪的模块导入问题。我可以独立地运行以下导入,而不会出现错误:

import PyQt4
from PyQt4 import *
from PyQt4 import QtWebKit
from PyQt4.QtWebkit import *

但是当我尝试导入PyQt4.QtWebKit中的特定模块时,就开始出现错误了,不过并不是所有模块都有这个问题。举个例子:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/site-packages/webscraping/webkit.py", line 16, in <module>
from PyQt4.QtWebKit import QWebFrame, QWebView, QWebElement, QWebPage, QWebSettings
ImportError: cannot import name QWebElement

在那个错误中,除了QWebElement模块,其他模块都能正常工作。注意,错误信息说的是无法导入这个模块,而不是说这个模块不存在。我尝试重新安装这些包,但运气不太好,没能解决问题。

以下是我的系统规格和我安装的包:

  • CentOS Linux 2.6.32-431.5.1.el6.x86_64 GNU/Linux
  • Python 2.6.6

已安装:

  • sip.x86_64 (版本 : 4.9.3, 发布 : 1.el6)
  • qt.x86_64 (版本 : 4.6.2, 发布 : 28.el6_5)
  • PyQt4.x86_64 (版本 : 4.6.2, 发布 : 9.el6)
  • PyQt4-devel.x86_64 (版本 : 4.6.2, 发布 : 9.el6)
  • PyQt4-webkit.x86_64 (版本 : 4.6.2, 发布 : 8.el6)
  • PyQt4-webkit-devel.x86_64 (版本 : 4.6.2, 发布 : 8.el6)
  • webscraping (版本: 1.4)

1 个回答

0

现在,PyQt的版本和Qt的版本不一定会保持一致了。PyQt-4.7是第一个完全支持Qt-4.6的版本。

我手上还有一个旧版的PyQt-4.7,我可以确认问题中的导入语句是不会出错的。

撰写回答