text: Title: orange associate can't be loaded
  Body: <!-- 
  Thanks for taking the time to report a bug!
  If you're raising an issue about an add-on (i.e., installed via Options > Add-ons), raise an issue in the relevant add-on's issue tracker instead. See: https://github.com/biolab?q=orange3
  To fix the bug, we need to be able to reproduce it. Please answer the following questions to the best of your ability.
  -->
  
  
  **What's wrong?**
  I have added an add-in called Associate.
  Although all seems wel after installation- meaning that all the necessary source files seem in place,
  the log shows a problem in loading Associate and some other things
  
  
  ```
  2023-09-29 01:29:44,099:INFO:orangecanvas.registry.discovery: Could not import 'orangecontrib.associate.widgets.owassociate'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecontrib/associate/widgets/owassociate.py", line 9, in <module>
      from AnyQt.QtWidgets import QTableView, qApp, QGridLayout, QLabel
  ImportError: cannot import name 'qApp' from 'AnyQt.QtWidgets' (/home/frankc/orange/lib/python3.11/site-packages/AnyQt/QtWidgets.py)
  2023-09-29 01:29:44,100:INFO:orangecanvas.registry.discovery: Could not import 'orangecontrib.associate.widgets.owitemsets'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecontrib/associate/widgets/owitemsets.py", line 9, in <module>
      from AnyQt.QtWidgets import QTreeWidget, QTreeWidgetItem, qApp
  ImportError: cannot import name 'qApp' from 'AnyQt.QtWidgets' (/home/frankc/orange/lib/python3.11/site-packages/AnyQt/QtWidgets.py)
  2023-09-29 01:29:44,144:INFO:orangecanvas.registry.discovery: Could not import 'orangecontrib.educational.widgets.ow1ka'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecontrib/educational/widgets/ow1ka.py", line 24, in <module>
      from Orange.widgets.utils.webview import wait
  ImportError: cannot import name 'wait' from 'Orange.widgets.utils.webview' (/home/frankc/orange/lib/python3.11/site-packages/Orange/widgets/utils/webview.py)
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecontrib/educational/widgets/ow1ka.py", line 27, in <module>
      from AnyQt.QtWidgets import qApp
  ImportError: cannot import name 'qApp' from 'AnyQt.QtWidgets' (/home/frankc/orange/lib/python3.11/site-packages/AnyQt/QtWidgets.py)
  2023-09-29 01:29:44,146:INFO:orangecanvas.registry.discovery: Ignoring '/home/frankc/orange/lib/python3.11/site-packages/orangecontrib/explain/widgets/owexplainfeaturebase.py'.
  2023-09-29 01:29:44,150:WARNING:root: No module named 'tempeh': LawSchoolGPADataset will be unavailable. To install, run:
  pip install 'aif360[LawSchoolGPA]'
  2023-09-29 01:29:45,819:WARNING:root: No module named 'fairlearn': ExponentiatedGradientReduction will be unavailable. To install, run:
  pip install 'aif360[Reductions]'
  2023-09-29 01:29:45,820:WARNING:root: No module named 'fairlearn': GridSearchReduction will be unavailable. To install, run:
  pip install 'aif360[Reductions]'
  2023-09-29 01:29:45,820:WARNING:root: No module named 'fairlearn': GridSearchReduction will be unavailable. To install, run:
  pip install 'aif360[Reductions]'
  2023-09-29 01:29:45,841:INFO:orangecanvas.registry.discovery: Ignoring '/home/frankc/orange/lib/python3.11/site-packages/orangecontrib/fairness/widgets/utils.py'.
  2023-09-29 01:29:45,842:INFO:orangecanvas.registry.discovery: Ignoring '/home/frankc/orange/lib/python3.11/site-packages/orangecontrib/geo/widgets/plotutils.py'.
  2023-09-29 01:29:45,891:INFO:orangecanvas.registry.discovery: Ignoring '/home/frankc/orange/lib/python3.11/site-packages/orangecontrib/survival_analysis/widgets/data.py'.
  2023-09-29 01:29:46,036:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableCategory'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableCategory.py", line 27, in <module>
      from .TextableUtils import (
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/TextableUtils.py", line 909, in <module>
      from PyQt5.QtCore import QTimer, QEventLoop
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,037:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableContext'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableContext.py", line 27, in <module>
      from .TextableUtils import (
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/TextableUtils.py", line 909, in <module>
      from PyQt5.QtCore import QTimer, QEventLoop
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,038:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableConvert'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableConvert.py", line 27, in <module>
      from PyQt5.QtWidgets import QMessageBox, QApplication, QFileDialog
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,039:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableCooccurrence'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableCooccurrence.py", line 30, in <module>
      from .TextableUtils import (
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/TextableUtils.py", line 909, in <module>
      from PyQt5.QtCore import QTimer, QEventLoop
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,040:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableCount'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableCount.py", line 28, in <module>
      from .TextableUtils import (
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/TextableUtils.py", line 909, in <module>
      from PyQt5.QtCore import QTimer, QEventLoop
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,041:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableDisplay'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableDisplay.py", line 28, in <module>
      from PyQt5.QtWidgets import QTextBrowser, QFileDialog, QMessageBox, QApplication
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,042:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableExtractXML'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableExtractXML.py", line 25, in <module>
      from PyQt5.QtGui import QFont
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,044:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableInterchange'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableInterchange.py", line 27, in <module>
      from .TextableUtils import (
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/TextableUtils.py", line 909, in <module>
      from PyQt5.QtCore import QTimer, QEventLoop
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,045:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableIntersect'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableIntersect.py", line 27, in <module>
      from .TextableUtils import (
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/TextableUtils.py", line 909, in <module>
      from PyQt5.QtCore import QTimer, QEventLoop
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,046:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableLength'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableLength.py", line 28, in <module>
      from .TextableUtils import (
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/TextableUtils.py", line 909, in <module>
      from PyQt5.QtCore import QTimer, QEventLoop
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,047:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableMerge'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableMerge.py", line 27, in <module>
      from .TextableUtils import (
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/TextableUtils.py", line 909, in <module>
      from PyQt5.QtCore import QTimer, QEventLoop
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,048:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableMessage'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableMessage.py", line 26, in <module>
      from .TextableUtils import (
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/TextableUtils.py", line 909, in <module>
      from PyQt5.QtCore import QTimer, QEventLoop
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,049:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextablePreprocess'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextablePreprocess.py", line 27, in <module>
      from .TextableUtils import (
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/TextableUtils.py", line 909, in <module>
      from PyQt5.QtCore import QTimer, QEventLoop
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,050:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableRecode'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableRecode.py", line 25, in <module>
      from PyQt5.QtGui import QFont
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,051:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableSegment'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableSegment.py", line 25, in <module>
      from PyQt5.QtGui import QFont
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,052:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableSelect'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableSelect.py", line 31, in <module>
      from .TextableUtils import (
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/TextableUtils.py", line 909, in <module>
      from PyQt5.QtCore import QTimer, QEventLoop
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,053:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableTextField'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableTextField.py", line 28, in <module>
      from PyQt5.QtWidgets import QPlainTextEdit
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,053:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableTextFiles'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableTextFiles.py", line 30, in <module>
      from PyQt5.QtCore import QTimer
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,054:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableTreetagger'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableTreetagger.py", line 32, in <module>
      from PyQt5.QtWidgets import QFileDialog, QMessageBox
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,055:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableURLs'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableURLs.py", line 31, in <module>
      from PyQt5.QtCore import QTimer
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,056:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.OWTextableVariety'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/OWTextableVariety.py", line 28, in <module>
      from .TextableUtils import (
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/TextableUtils.py", line 909, in <module>
      from PyQt5.QtCore import QTimer, QEventLoop
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,058:INFO:orangecanvas.registry.discovery: Could not import '_textable.widgets.TextableUtils'.
  Traceback (most recent call last):
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 309, in iter_widget_descriptions
      module = asmodule(name)
               ^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/registry/discovery.py", line 552, in asmodule
      return __import__(module, fromlist=[""])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/frankc/orange/lib/python3.11/site-packages/_textable/widgets/TextableUtils.py", line 909, in <module>
      from PyQt5.QtCore import QTimer, QEventLoop
  ModuleNotFoundError: No module named 'PyQt5'
  2023-09-29 01:29:46,328:INFO:orangecanvas.registry.discovery: Ignoring '/home/frankc/orange/lib/python3.11/site-packages/orangecontrib/timeseries/widgets/_owmodel.py'.
  2023-09-29 01:29:46,328:INFO:orangecanvas.registry.discovery: Ignoring '/home/frankc/orange/lib/python3.11/site-packages/orangecontrib/timeseries/widgets/_rangeslider.py'.
  2023-09-29 01:29:46,328:INFO:orangecanvas.registry.discovery: Ignoring '/home/frankc/orange/lib/python3.11/site-packages/orangecontrib/timeseries/widgets/owperiodbase.py'.
  2023-09-29 01:29:46,329:INFO:orangecanvas.registry.discovery: Ignoring '/home/frankc/orange/lib/python3.11/site-packages/orangecontrib/timeseries/widgets/utils.py'.
  2023-09-29 01:29:46,334:INFO:orangecanvas.main: Adding search path '/home/frankc/orange/lib/python3.11/site-packages/orangecanvas/styles/orange' for prefix, 'canvas_icons'
  ```
  
  Constantly it show that QApp can't be found 
  
  **How can we reproduce the problem?** 
  <!-- Upload a zip with the .ows file and data. -->
  <!-- Describe the steps (open this widget, click there, then add this...) -->
  
  
  
  
  
  **What's your environment?**
  <!-- To find your Orange version, see "Help → About → Version" or `Orange.version.full_version` in code -->
  - Operating system: Manjaro
  - Orange version: 3.36.1
  - How you installed Orange: through pip in a virtual environment.
  