Revert "feat: implement non-polling, interruptible waiting of gui instruction...
Description
Caused crash with starting bec with PyQt6 installed. Upon starting BEC after installing it with pyqt6 dependencies, the following error pops up.
ImportError Traceback (most recent call last)
File ~/work_psi_awi/bec_workspace/bec/bec_ipython_client/bec_ipython_client/bec_startup.py:32
30 if bec.started and not _main_dict["args"].nogui and _BECDockArea is not None:
31 gui = bec.gui = _BECDockArea()
---> 32 gui.show()
33 if gui.auto_updates is None:
34 AutoUpdates.create_default_dock = True
File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/cli/client_utils.py:168, in BECGuiClientMixin.show(self)
166 if self._process is None or self._process.poll() is not None:
167 self._start_update_script()
--> 168 self._process, self._process_output_processing_thread = _start_plot_process(
169 self._gui_id, self.__class__, self._client._service_config.redis
170 )
171 while not self.gui_is_alive():
172 print("Waiting for GUI to start...")
File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/cli/client_utils.py:89, in _start_plot_process(gui_id, gui_class, config)
85 """
86 Start the plot in a new process.
87 """
88 # pylint: disable=subprocess-run-check
---> 89 monitor_module = importlib.import_module("bec_widgets.cli.server")
90 monitor_path = monitor_module.__file__
92 command = [
93 sys.executable,
94 "-u",
(...)
101 gui_class.__name__,
102 ]
File ~/.pyenv/versions/3.11.1/lib/python3.11/importlib/__init__.py:126, in import_module(name, package)
124 break
125 level += 1
--> 126 return _bootstrap._gcd_import(name[level:], package, level)
File <frozen importlib._bootstrap>:1206, in _gcd_import(name, package, level)
File <frozen importlib._bootstrap>:1178, in _find_and_load(name, import_)
File <frozen importlib._bootstrap>:1149, in _find_and_load_unlocked(name, import_)
File <frozen importlib._bootstrap>:690, in _load_unlocked(spec)
File <frozen importlib._bootstrap_external>:940, in exec_module(self, module)
File <frozen importlib._bootstrap>:241, in _call_with_frames_removed(f, *args, **kwds)
File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/cli/server.py:11
9 from bec_widgets.utils import BECDispatcher
10 from bec_widgets.utils.bec_connector import BECConnector
---> 11 from bec_widgets.widgets.dock.dock_area import BECDockArea
12 from bec_widgets.widgets.figure import BECFigure
14 messages = lazy_import("bec_lib.messages")
File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/widgets/__init__.py:2
1 from .buttons import StopButton
----> 2 from .dock import BECDock, BECDockArea
3 from .figure import BECFigure, FigureConfig
4 from .scan_control import ScanControl
File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/widgets/dock/__init__.py:1
----> 1 from .dock import BECDock
2 from .dock_area import BECDockArea
File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/widgets/dock/dock.py:8
5 from pydantic import Field
6 from pyqtgraph.dockarea import Dock
----> 8 from bec_widgets.cli.rpc_wigdet_handler import RPCWidgetHandler
9 from bec_widgets.utils import BECConnector, ConnectionConfig, GridLayoutManager
11 if TYPE_CHECKING:
File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/cli/rpc_wigdet_handler.py:5
2 from bec_widgets.widgets.figure import BECFigure
3 from bec_widgets.widgets.spiral_progress_bar.spiral_progress_bar import SpiralProgressBar
----> 5 from bec_widgets.widgets.website.website import WebsiteWidget
6 from bec_widgets.widgets.text_box.text_box import TextBox
9 class RPCWidgetHandler:
File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/widgets/website/website.py:2
1 from qtpy.QtCore import QUrl
----> 2 from qtpy.QtWebEngineWidgets import QWebEngineView
3 from qtpy.QtWidgets import QApplication
5 from bec_widgets.utils import BECConnector
File ~/.pyenv/versions/3.11.1/envs/bec/lib/python3.11/site-packages/qtpy/QtWebEngineWidgets.py:48
41 try:
42 from PyQt6.QtWebEngineCore import (
43 QWebEnginePage,
44 QWebEngineProfile,
45 QWebEngineScript,
46 QWebEngineSettings,
47 )
---> 48 from PyQt6.QtWebEngineWidgets import *
49 except ModuleNotFoundError as error:
50 raise QtModuleNotInstalledError(
51 name="QtWebEngineWidgets",
52 missing_package="PyQt6-WebEngine",
53 ) from error
ImportError: QtWebEngineWidgets must be imported or Qt.AA_ShareOpenGLContexts must be set before a QCoreApplication instance is created
Edited by appel_c