zhiyiYo / PyQt-Fluent-Widgets

A fluent design widgets library based on C++ Qt/PyQt/PySide. Make Qt Great Again.
https://qfluentwidgets.com
GNU General Public License v3.0
5.61k stars 541 forks source link

[Bug]: ImportError: cannot import name '__version_info__' from 'shiboken6' (unknown location) #751

Closed Remalloc closed 8 months ago

Remalloc commented 8 months ago

What happened?

Problem importing shibokensupport: ImportError: cannot import name 'version_info' from 'shiboken6' (unknown location) sys.path: C:\Users\vbover\PycharmProjects\pg_permission\pg_permission C:\Users\vbover\PycharmProjects\pg_permission D:\Program Files\PyCharm 2023.1\plugins\python\helpers\pycharm_display C:\Users\vbover\AppData\Local\Programs\Python\Python39\python39.zip C:\Users\vbover\AppData\Local\Programs\Python\Python39\DLLs C:\Users\vbover\AppData\Local\Programs\Python\Python39\lib C:\Users\vbover\AppData\Local\Programs\Python\Python39 C:\Users\vbover\PycharmProjects\pg_permission.venv C:\Users\vbover\PycharmProjects\pg_permission.venv\lib\site-packages C:\Users\vbover\PycharmProjects\pg_permission.venv\lib\site-packages\win32 C:\Users\vbover\PycharmProjects\pg_permission.venv\lib\site-packages\win32\lib C:\Users\vbover\PycharmProjects\pg_permission.venv\lib\site-packages\Pythonwin D:\Program Files\PyCharm 2023.1\plugins\python\helpers\pycharm_matplotlib_backend Traceback (most recent call last): File "signature_bootstrap.py", line 62, in ensure_shibokensupport File "signature_bootstrap.py", line 76, in bootstrap File "signature_bootstrap.py", line 131, in exec_module File "shibokensupport/signature/loader.py", line 114, in File "signature_bootstrap.py", line 131, in exec_module File "shibokensupport/signature/parser.py", line 94, in File "shibokensupport/signature/parser.py", line 99, in EnumSelect File "shibokensupport/signature/parser.py", line 45, in _get_flag_enum_option ImportError: cannot import name 'version_info' from 'shiboken6' (unknown location)

Operation System

Windows10 LTSC 1809

Python Version

3.9.11

PyQt/PySide Version

PySide6

PyQt/PySide-Fluent-Widgets Version

v6.4.2

How to Reproduce?

Package Version

colorthief 0.2.1
contourpy 1.2.0
cycler 0.12.1
darkdetect 0.8.0
fonttools 4.47.2
importlib-resources 6.1.1
kiwisolver 1.4.5
matplotlib 3.8.2
networkx 3.2.1 numpy 1.26.3 packaging 23.2 pillow 10.2.0 pip 23.2.1 psycopg2 2.9.9 pyparsing 3.1.1 PySide6 6.4.2 PySide6-Addons 6.4.2 PySide6-Essentials 6.4.2 PySide6-Fluent-Widgets 1.5.0 PySideSix-Frameless-Window 0.3.6 python-dateutil 2.8.2 pywin32 306 scipy 1.12.0 setuptools 68.2.0 shiboken6 6.4.2 six 1.16.0 wheel 0.41.2 zipp 3.17.0

Minimum code

# coding:utf-8
import sys

from PySide6.QtCore import Qt
from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QApplication, QFrame, QHBoxLayout
from qfluentwidgets import FluentIcon as FIF
from qfluentwidgets import NavigationItemPosition, FluentWindow, SubtitleLabel, setFont

class Widget(QFrame):

    def __init__(self, text: str, parent=None):
        super().__init__(parent=parent)
        self.label = SubtitleLabel(text, self)
        self.hBoxLayout = QHBoxLayout(self)

        setFont(self.label, 24)
        self.label.setAlignment(Qt.AlignCenter)
        self.hBoxLayout.addWidget(self.label, 1, Qt.AlignCenter)

        # 必须给子界面设置全局唯一的对象名
        self.setObjectName(text.replace(' ', '-'))

class Window(FluentWindow):
    """ 主界面 """

    def __init__(self):
        super().__init__()

        # 创建子界面,实际使用时将 Widget 换成自己的子界面
        self.homeInterface = Widget('Home Interface', self)
        self.musicInterface = Widget('Music Interface', self)
        self.videoInterface = Widget('Video Interface', self)
        self.settingInterface = Widget('Setting Interface', self)
        self.albumInterface = Widget('Album Interface', self)
        self.albumInterface1 = Widget('Album Interface 1', self)

        self.initNavigation()
        self.initWindow()

    def initNavigation(self):
        self.addSubInterface(self.homeInterface, FIF.HOME, 'Home')
        self.addSubInterface(self.musicInterface, FIF.MUSIC, 'Music library')
        self.addSubInterface(self.videoInterface, FIF.VIDEO, 'Video library')

        self.navigationInterface.addSeparator()

        self.addSubInterface(self.albumInterface, FIF.ALBUM, 'Albums', NavigationItemPosition.SCROLL)
        self.addSubInterface(self.albumInterface1, FIF.ALBUM, 'Album 1', parent=self.albumInterface)

        self.addSubInterface(self.settingInterface, FIF.SETTING, 'Settings', NavigationItemPosition.BOTTOM)

    def initWindow(self):
        self.resize(900, 700)
        self.setWindowIcon(QIcon(':/qfluentwidgets/images/logo.png'))
        self.setWindowTitle('PyQt-Fluent-Widgets')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = Window()
    w.show()
    app.exec()
zhiyiYo commented 8 months ago

maybe you should create a new virtual environment

phileeees commented 7 months ago

I also meet this problem!Do you solve it now?How do you solve it?