升级 PySide6 后出现错误 No module named 'PySide6.QtWidgets'

Ude*_*esh 6 qwidget importerror pyside6 python-3.10

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

来源

import sys
from PySide6.QtWidgets import QApplication, QLabel

app = QApplication(sys.argv)
label = QLabel("Hello World!")
label.show()
app.exec()
Run Code Online (Sandbox Code Playgroud)

错误:

$ 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'
Run Code Online (Sandbox Code Playgroud)

看来有变化PySide6.3.0

如何导入QtWidgets模块PySide6.3.0

编辑:

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

#!/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()
Run Code Online (Sandbox Code Playgroud)

输出:

$ ./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)
Run Code Online (Sandbox Code Playgroud)

Ude*_*esh 12

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

有问题的一点是因为更新不会执行“卸载/安装”并留下一些文件,并且不会使用新两个轮子的内容覆盖 PySide6 目录。如果您检查站点包,您将看到只剩下 3 个模块。

PySide6.2.4当我升级到PySide6.3.0使用时出现问题

$ python3.10 -m pip install --upgrade pyside6
Run Code Online (Sandbox Code Playgroud)

由于我们正在升级以前的软件包,因此当我们尝试importpyside6

解决方案 :

$ python3.10 -m pip uninstall pyside6 pyside6-addons pyside6-essentials shiboken6
$ python3.10 -m pip cache purge
$ python3.10 -m pip install pyside6
Run Code Online (Sandbox Code Playgroud)

重新安装前必须清除cache文件,pyside6否则会使用以前的缓存文件并import error继续使用。


小智 5

尝试卸载 PySide6 shiboken6 PySide6-Essentials PySide6-Addons 然后重新安装 PySide6

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


小智 5

$ python3.10 -m pip install --force-reinstall --no-cache-dir pyside6
Run Code Online (Sandbox Code Playgroud)

没必要pip uninstallpip cache clear