我在CentOS和Windows上安装了Anaconda环境 并使用conda安装了PySide2。
问题是我的项目在CentOS中运行良好,但在Windows中,它在运行服务器时显示“ModuleNotFoundError:没有名为'PySide2.QtWebKitWidgets'的模块”。
Conda,pyhon,pip,PySide2和PyQt5的版本在两种操作系统中都是相同的。
我不知道出了什么问题?
答案 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文件中启用该模块。