--- a/src/eric7/UI/Previewers/PreviewerHTML.py Tue Nov 21 11:42:45 2023 +0100 +++ b/src/eric7/UI/Previewers/PreviewerHTML.py Wed Nov 22 17:19:10 2023 +0100 @@ -7,7 +7,7 @@ Module implementing a previewer widget for HTML, Markdown and ReST files. """ -import contextlib +import importlib import io import os import re @@ -778,26 +778,23 @@ extensions.append("nl2br") pyMdown = False - if usePyMdownExtensions: - with contextlib.suppress(ImportError): - import pymdownx # __IGNORE_EXCEPTION__ __IGNORE_WARNING__ - - # PyPI package is 'pymdown-extensions' + if usePyMdownExtensions 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 + 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"])