From 7597262c80cb3480f645285940b6f7b3c81648ab Mon Sep 17 00:00:00 2001 From: Rich Chiodo Date: Tue, 7 Jan 2025 09:49:46 -0800 Subject: [PATCH] Fix pyqt6 loader on windows (#1797) --- .../pydevd/pydev_ipython/qt_loaders.py | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py b/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py index d53c5f15..b6460f7f 100644 --- a/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py +++ b/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py @@ -145,25 +145,28 @@ def has_binding(api): return True except ModuleNotFoundError: - from importlib import machinery + try: + from importlib import machinery - # importing top level PyQt4/PySide module is ok... - mod = __import__(module_name) + # importing top level PyQt4/PySide module is ok... + mod = __import__(module_name) - # ...importing submodules is not - loader_details = (machinery.ExtensionFileLoader, machinery.EXTENSION_SUFFIXES) - submod_finder = machinery.FileFinder(mod.__path__[0], loader_details) - submod_check = ( - submod_finder.find_spec("QtCore") is not None - and submod_finder.find_spec("QtGui") is not None - and submod_finder.find_spec("QtSvg") is not None - ) + # ...importing submodules is not + loader_details = (machinery.ExtensionFileLoader, machinery.EXTENSION_SUFFIXES) + submod_finder = machinery.FileFinder(mod.__path__[0], loader_details) + submod_check = ( + submod_finder.find_spec("QtCore") is not None + and submod_finder.find_spec("QtGui") is not None + and submod_finder.find_spec("QtSvg") is not None + ) - # we can also safely check PySide version - if api == QT_API_PYSIDE: - return check_version(mod.__version__, '1.0.3') and submod_check - else: - return submod_check + # we can also safely check PySide version + if api == QT_API_PYSIDE: + return check_version(mod.__version__, '1.0.3') and submod_check + else: + return submod_check + except: + return False except ImportError: return False