src/eric7/QScintilla/Exporters/ExporterHTML.py

branch
eric7
changeset 10331
c1a2ff7e3575
parent 10180
3a595df36c9a
child 10372
1444b4bee64b
--- a/src/eric7/QScintilla/Exporters/ExporterHTML.py	Tue Nov 21 11:42:45 2023 +0100
+++ b/src/eric7/QScintilla/Exporters/ExporterHTML.py	Wed Nov 22 17:19:10 2023 +0100
@@ -10,7 +10,7 @@
 # This code is a port of the C++ code found in SciTE 1.74
 # Original code: Copyright 1998-2006 by Neil Hodgson <neilh@scintilla.org>
 
-import contextlib
+import importlib
 import io
 import os
 import sys
@@ -578,26 +578,24 @@
             extensions.append("nl2br")
 
         pyMdown = False
-        if Preferences.getEditor("PreviewMarkdownUsePyMdownExtensions"):
-            with contextlib.suppress(ImportError):
-                import pymdownx  # __IGNORE_EXCEPTION__ __IGNORE_WARNING__
-
-                # PyPI package is 'pymdown-extensions'
-
-                extensions.extend(
-                    [
-                        "toc",
-                        "pymdownx.extra",
-                        "pymdownx.caret",
-                        "pymdownx.emoji",
-                        "pymdownx.mark",
-                        "pymdownx.tilde",
-                        "pymdownx.keys",
-                        "pymdownx.tasklist",
-                        "pymdownx.smartsymbols",
-                    ]
-                )
-                pyMdown = True
+        if Preferences.getEditor("PreviewMarkdownUsePyMdownExtensions") and bool(
+            importlib.util.find_spec("pymdownx")
+        ):
+            # PyPI package is 'pymdown-extensions'
+            extensions.extend(
+                [
+                    "toc",
+                    "pymdownx.extra",
+                    "pymdownx.caret",
+                    "pymdownx.emoji",
+                    "pymdownx.mark",
+                    "pymdownx.tilde",
+                    "pymdownx.keys",
+                    "pymdownx.tasklist",
+                    "pymdownx.smartsymbols",
+                ]
+            )
+            pyMdown = True
 
         if not pyMdown:
             extensions.extend(["extra", "toc"])

eric ide

mercurial