3

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

问题是我的项目在 CentOS 中运行良好,但在 Windows 中,运行服务器时显示“ModuleNotFoundError: No module named 'PySide2.QtWebKitWidgets'”。

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

我不知道怎么了?

4

2 回答 2

1

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

回溯(最后一次调用):文件“browse.py”,第 7 行,文件“/usr/local/lib/python3.7/dist-packages/shiboken2/files.dir/shibokensupport/feature.py ,行146,在_import文件“/home/pjm/prj/eis3/gui/browser.py”中,第15行,在文件“/usr/local/lib/python3.7/dist-packages/shiboken2/files.dir/shibokensupport /功能.py",第 146 行,在 _import ModuleNotFoundError 中:没有名为 '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 > $@

我的设计器版本是 5.11.3,它安装在 debian 上,这可以解释这一点。简而言之,我认为问题可能是用于创建 ui 文件的设计器版本。

于 2020-11-16T11:15:24.383 回答
0

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

于 2019-01-04T15:05:29.790 回答