报错:MermaidExtension.extendMarkdown()缺少必填参数'md_globals'求解决
解决 MermaidExtension.extendMarkdown() 缺少参数的问题
问题原因
这是markdown库与md_mermaid库版本不兼容导致的:新版markdown(>=3.0)修改了扩展的extendMarkdown方法签名,移除了md_globals参数,但当前安装的md_mermaid版本仍在使用旧接口规范。
解决方法
方法1:降级markdown到兼容版本
若不想更换md_mermaid,可将markdown降级到2.x系列,执行命令:pip install markdown==2.6.11方法2:升级/替换md_mermaid扩展
- 如果使用的是
markdown-mermaid包(非旧版md_mermaid),安装最新适配版:pip install --upgrade markdown-mermaid - 或者改用维护更活跃的替代扩展,比如
pymdown-extensions的mermaid支持,安装后修改代码中的扩展列表:html += markdown.markdown(text, extensions=['pymdownx.mermaid', 'fenced_code', 'tables'])
- 如果使用的是
方法3:临时修改本地扩展代码
找到虚拟环境中md_mermaid的扩展文件(路径类似C:\Users\jorda\Documents\projects\python\poolBoy\venv\lib\site-packages\md_mermaid\extension.py),修改extendMarkdown方法,移除md_globals参数:def extendMarkdown(self, md): # 原方法为 def extendMarkdown(self, md, md_globals): md.preprocessors.register(MermaidPreprocessor(md), 'mermaid', 30)注:此方法仅为临时应急,后续更新库会覆盖修改,优先推荐前两种方案。
内容的提问来源于stack exchange,提问作者jordanthompson
相关产品推荐
相关产品推荐

