From 445153cae23adf94ebf528ca96ea1e4f78451fa3 Mon Sep 17 00:00:00 2001 From: Martin Bergtholdt Date: Thu, 11 Apr 2019 14:03:52 +0200 Subject: [PATCH 1/4] Allow pyside2 gui loop --- ipykernel/eventloops.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ipykernel/eventloops.py b/ipykernel/eventloops.py index e43a86f3d..6906e6b3f 100644 --- a/ipykernel/eventloops.py +++ b/ipykernel/eventloops.py @@ -125,7 +125,6 @@ def loop_qt4(kernel): @register_integration('qt', 'qt5') def loop_qt5(kernel): """Start a kernel with PyQt5 event loop integration.""" - os.environ['QT_API'] = 'pyqt5' return loop_qt4(kernel) From 17caf99b7231c74159732db5f4181189efb50a78 Mon Sep 17 00:00:00 2001 From: Martin Bergtholdt Date: Mon, 14 Oct 2019 11:23:29 +0200 Subject: [PATCH 2/4] set default python bindings --- ipykernel/eventloops.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ipykernel/eventloops.py b/ipykernel/eventloops.py index 6906e6b3f..6e282d17b 100644 --- a/ipykernel/eventloops.py +++ b/ipykernel/eventloops.py @@ -125,6 +125,8 @@ def loop_qt4(kernel): @register_integration('qt', 'qt5') def loop_qt5(kernel): """Start a kernel with PyQt5 event loop integration.""" + if os.environ.get('QT_API', None) is None: + os.environ['QT_API'] = 'pyqt5' return loop_qt4(kernel) From 34ea83ccb3936e491828fe5972579e1950b086c9 Mon Sep 17 00:00:00 2001 From: Martin Bergtholdt Date: Thu, 17 Oct 2019 13:09:42 +0200 Subject: [PATCH 3/4] FIX: set appropriate QT_API, defaulting to pyqt5 with pyside2 as fall-back --- ipykernel/eventloops.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ipykernel/eventloops.py b/ipykernel/eventloops.py index 6e282d17b..51b502001 100644 --- a/ipykernel/eventloops.py +++ b/ipykernel/eventloops.py @@ -126,7 +126,15 @@ def loop_qt4(kernel): def loop_qt5(kernel): """Start a kernel with PyQt5 event loop integration.""" if os.environ.get('QT_API', None) is None: - os.environ['QT_API'] = 'pyqt5' + try: + import PyQt5 + os.environ['QT_API'] = 'pyqt5' + except ImportError: + try: + import PySide2 + os.environ['QT_API'] = 'pyside2' + except ImportError: + pass return loop_qt4(kernel) From 2d15ed6a4aad182fd0ba276cd7058c90155bfba3 Mon Sep 17 00:00:00 2001 From: Paul Ivanov Date: Thu, 2 Dec 2021 18:08:46 -0800 Subject: [PATCH 4/4] keep with previous behavior my interpretation of suggestion from @ccordoba12 and @stukowski --- ipykernel/eventloops.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipykernel/eventloops.py b/ipykernel/eventloops.py index 51b502001..b64345559 100644 --- a/ipykernel/eventloops.py +++ b/ipykernel/eventloops.py @@ -134,7 +134,7 @@ def loop_qt5(kernel): import PySide2 os.environ['QT_API'] = 'pyside2' except ImportError: - pass + os.environ['QT_API'] = 'pyqt5' return loop_qt4(kernel)