ModuleNotFoundError:没有名为'PySide2.QtWebKitWidgets'的模块

时间:2018-04-23 22:22:37

标签: python python-3.x conda pyside2

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

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

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

我不知道出了什么问题?

2 个答案:

答案 0 :(得分:1)

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

回溯(最近通话最近): 在第7行的文件“ browse.py”中 _import中的文件“ /usr/local/lib/python3.7/dist-packages/shiboken2/files.dir/shibokensupport/ 功能 .py”,第146行 在第15行的“ /home/pjm/prj/eis3/gui/browser.py”文件中 _import中的文件“ /usr/local/lib/python3.7/dist-packages/shiboken2/files.dir/shibokensupport/ 功能 .py”,第146行 ModuleNotFoundError:没有名为“ PySide2.QtWebKitWidgets”的模块

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

我实际上认为是我的Designer版本产生了以下摘录:

  <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文件的设计器版本。

答案 1 :(得分:0)

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