trgkanki / cloze_hide_all

GNU Affero General Public License v3.0
11 stars 3 forks source link

[Anki 23.10 beta 6] No module named 'PyQt5' #77

Closed khonkhortisan closed 5 months ago

khonkhortisan commented 11 months ago

Bug report

Describe the bug

The Qt5 compatibility code is now off by default, which may break some add-ons that haven't been updated to support Qt6 in the last 2 years. If you find any have broken, please report the issues to the add-on author, and start Anki after setting the env var ENABLE_QT5_COMPAT to 1 to temporarily restore the compatibility code.

Reproduction step

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Actual behavior

Error
Un complemento que has instalado ha fallado al cargarse. Si los problemas persisten, por favor ve a Herramientas> Menú de complementos o deshabilita este complemento.

Mientras cargando '⁨Cloze Hide All⁩':
⁨Traceback (most recent call last):
  File "aqt.addons", line 239, in loadAddons
  File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\__init__.py", line 24, in <module>
    from .utils import openChangelog
  File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\utils\openChangelog.py", line 21, in <module>
    from .configrw import getCurrentAddonName, setConfig
  File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\utils\configrw.py", line 18, in <module>
    from ..qdlg import observable
  File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\qdlg\__init__.py", line 16, in <module>
    from .widgets import *  # NOQA
  File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\qdlg\widgets\__init__.py", line 16, in <module>
    from .layout import VStack, HStack  # NOQA\
  File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\qdlg\widgets\layout.py", line 18, in <module>
    from ..utils import addLayoutOrWidget
  File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\qdlg\utils.py", line 16, in <module>
    from PyQt5.Qt import QLayout, QWidget
ModuleNotFoundError: No module named 'PyQt5'

Anki/OS versions

Additional context

Is qdlg really necessary? qdlg/utils.py

try:
    from PyQt6.QtWidgets import QLayout, QWidget
except ImportError:
    from PyQt5.Qt import QLayout, QWidget

qdlg/widgets/layout.py

try:
    from PyQt6.QtWidgets import QVBoxLayout, QHBoxLayout
except ImportError:
    from PyQt5.Qt import QLayout, QWidget

qdlg/widgets/Text.py

try:
    from PyQt6.QtWidgets import QLabel
except ImportError:
    from PyQt5.Qt import QLabel

qdlg/widgets/Shortcutable.py

try:
    from PyQt6.QtGui import QKeySequence
except ImportError:
    from PyQt5.Qt import QKeySequence

qdlg/widgets/Button.py

try:
    from PyQt6.QtWidgets import QPushButton
    from PyQt6.QtGui import QKeySequence
except ImportError:
    from PyQt5.Qt import QPushButton, QKeySequence

qdlg/widgets/LineEdit.py

try:
    from PyQt6.QtWidgets import QLineEdit
except ImportError:
    from PyQt5.Qt import QLineEdit

qdlg/widgets/Checkbox.py

try:
    from PyQt6.QtWidgets import QCheckBox
except ImportError:
    from PyQt5.Qt import QCheckBox

qdlg/widgets/RadioButton.py

try:
    from PyQt6.QtWidgets import QRadioButton
except ImportError:
    from PyQt5.Qt import QRadioButton

qdlg/widgets/ListBox.py

try:
    from PyQt6.QtWidgets import QListWidget, QListWidgetItem, QAbstractItemView
    from PyQt6.QtCore import Qt, QPoint
except ImportError:
    from PyQt5.Qt import QListWidget, QListWidgetItem, Qt, QPoint, QAbstractItemView

qdlg/widgets/Table.py

try:
    from PyQt6.QtWidgets import QGridLayout, QVBoxLayout
except ImportError:
    from PyQt5.Qt import QGridLayout, QVBoxLayout

qdlg/widgets/Group.py

try:
    from PyQt6.QtWidgets import QGroupBox, QVBoxLayout
except ImportError:
    from PyQt5.Qt import QGroupBox, QVBoxLayout

qdlg/qdlg.py

try:
    from PyQt6.QtWidgets import QDialog, QVBoxLayout
    from PyQt6.QtCore import Qt
except ImportError:
    from PyQt5.Qt import QDialog, QVBoxLayout, Qt
phu54321 commented 5 months ago

Sorry for late fix

Fixed with https://github.com/trgkanki/cloze_hide_all/commit/a485447f18422afa01e5f6a82924a5bdb7d1fe28