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

问题描述 投票:0回答:4

升级到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()

错误:

$ 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 等包

#!/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()

输出:

$ ./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)
importerror qwidget pyside6 python-3.10
4个回答
12
投票
@Blackyy 提供的

链接帮助我解决了这个问题。

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

当我使用

PySide6.2.4
升级到
PySide6.3.0
时出现问题

$ python3.10 -m pip install --upgrade pyside6
由于我们正在升级以前的软件包,因此当我们尝试从 

import

 中获取 
pyside6
模块时,会导致问题

解决方案:

$ 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
会继续使用。


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
不需要 

pip uninstall

pip cache clear

    


0
投票
PySide6 将类移动到 PySide6.QtGui 下。所以

from PySide6.QtGui import QDesktopServices


    

© www.soinside.com 2019 - 2024. All rights reserved.