模块未找到错误:没有名为 'PySide2.QtWebKitWidgets' 的模块。

3

我在CentOS和Windows上安装了Anaconda环境,并使用conda安装了PySide2。

问题是,我的项目在CentOS上运行良好,但在Windows上运行服务器时显示“ModuleNotFoundError:找不到名为'PySide2.QtWebKitWidgets'的模块”。

在两个操作系统中,Conda、python、pip、PySide2和PyQt5的版本都相同。

我不知道出了什么问题?


你找到解决方案了吗?* - toing_toing
你使用的是哪个conda版本?似乎出现了Web引擎小部件和未来支持之间的冲突。你正在寻找QtWebKit,但替代方案是QtWebEngine,这是Qt显然承诺将来支持的,但目前还不可用。因此,我认为Anaconda代码和你的代码被困在不同平台版本的中间。 - Sanxofon
2个回答

1

当我使用pyside2创建一个示例应用程序时,我遇到了同样的问题,错误消息如下:

Traceback (most recent call last): File "browse.py", line 7, in File "/usr/local/lib/python3.7/dist-packages/shiboken2/files.dir/shibokensupport/feature.py", line 146, in _import File "/home/pjm/prj/eis3/gui/browser.py", line 15, in File "/usr/local/lib/python3.7/dist-packages/shiboken2/files.dir/shibokensupport/feature.py", line 146, in _import ModuleNotFoundError: No module named 'PySide2.QtWebKitWidgets'

因此,问题在于设计师或pyside2-uic版本使用旧的QtWebKitWidgets而不是我认为更现代的QtWebEngineView。

实际上,我认为是我的设计师版本产生了以下提取:

  <customwidget>
   <class>QWebView</class>
   <extends>QWidget</extends>
   <header>QtWebKitWidgets/QWebView</header>
  </customwidget>

无论如何,我通过在makefile中使用sed脚本“修复”了这个问题,如下所示:
browser.py: browser.ui makefile
    pyside2-uic  $< --output temp.txt
    cat temp.txt | sed s/QtWebKitWidgets/QtWebEngineWidgets/g | sed s/QWebView/QWebEngineView/g > $@

我的Designer版本是5.11.3,安装在Debian上,这可能解释了问题所在。简而言之,我认为问题可能出在用于创建UI文件的Designer版本上。


0

QtWebkit已经被弃用,您可以尝试从头开始构建PySide2,并在CMakeLists.txt文件中启用该模块。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接