首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级后PySide6给出错误号模块‘PySide6.QtWidget’

升级后PySide6给出错误号模块‘PySide6.QtWidget’
EN

Stack Overflow用户
提问于 2022-04-19 04:48:27
回答 3查看 2.3K关注 0票数 4

升级到PySide6.3.0后获得错误ModuleNotFoundError: No module named 'PySide6.QtWidgets'

来源

代码语言:javascript
复制
import sys
from PySide6.QtWidgets import QApplication, QLabel

app = QApplication(sys.argv)
label = QLabel("Hello World!")
label.show()
app.exec()

错误:

代码语言:javascript
复制
$ python3.10 test.py 
Traceback (most recent call last):
  File "test.py", line 2, in <module>
    from PySide6.QtWidgets import QApplication, QLabel
ModuleNotFoundError: No module named 'PySide6.QtWidgets'

PySide6.3.0似乎有一些变化。

如何在QtWidgets中导入PySide6.3.0模块

编辑:

很明显,它正在导入PySide6包,但它没有导入QtWidgets、QtGui、QtCore等包。

代码语言:javascript
复制
#!/usr/bin/env python3.10
import sys
import PySide6
from PySide6 import QtWidgets
from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QPushButton, QVBoxLayout, QHBoxLayout)
from PySide6 import QtCore
from PySide6.QtCore import (Qt, QSize)

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    #TODO
    app.exec()

产出:

代码语言:javascript
复制
$ ./test.py
Traceback (most recent call last):
  File "./test.py", line 4, in <module>
    from PySide6 import QtWidgets
ImportError: cannot import name 'QtWidgets' from 'PySide6' (~/.local/lib/python3.10/site-packages/PySide6/__init__.py)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-04-19 16:26:47

尝试卸载PySide6 shiboken6 PySide6-EsstiesPySide6-addons,然后重新安装PySide6

请参阅https://bugreports.qt.io/browse/PYSIDE-1891

票数 4
EN

Stack Overflow用户

发布于 2022-04-20 02:52:07

@Blackyy提供的链接帮助我解决了这个问题。

有问题的地方在于,更新没有执行“卸载/安装”,也没有留下一些文件,并且没有用新的两个轮子的内容覆盖PySide6目录。如果你检查你的网站包,你会看到只剩下3个模块。

当我将PySide6.2.4升级到PySide6.3.0时,使用

代码语言:javascript
复制
$ python3.10 -m pip install --upgrade pyside6

由于我们正在升级以前的包,所以当我们尝试从import中获取pyside6模块时,就会出现问题。

解决办法:

代码语言:javascript
复制
$ python3.10 -m pip uninstall pyside6 pyside6-addons pyside6-essentials shiboken6
$ python3.10 -m pip cache purge
$ python3.10 -m pip install pyside6

在重新安装cache文件之前,必须清除pyside6文件,否则它将使用以前的缓存文件,而import error则使用“继续来”。

票数 9
EN

Stack Overflow用户

发布于 2022-04-28 13:09:06

代码语言:javascript
复制
$ python3.10 -m pip install --force-reinstall --no-cache-dir pyside6

不需要pip uninstallpip cache clear

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71919812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档