--- 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"])