getnikola / nikola

A static website and blog generator
https://getnikola.com/
MIT License
2.6k stars 444 forks source link

nikola build fails with error registering extension #3721

Closed jni closed 7 months ago

jni commented 7 months ago

Environment

Python Version: 3.11.7

Nikola Version: 8.2.2 (installed from conda-forge)

Operating System: macOS 13.6.3

Description:

When I try to run nikola build on my blog, using a fresh environment, I get the following error:

Traceback (most recent call last):
  File "/Users/jni/micromamba/envs/blog/bin/nikola", line 10, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/jni/micromamba/envs/blog/lib/python3.11/site-packages/nikola/__main__.py", line 166, in main
    _ = DN.run(oargs)
        ^^^^^^^^^^^^^
  File "/Users/jni/micromamba/envs/blog/lib/python3.11/site-packages/nikola/__main__.py", line 354, in run
    self.nikola.init_plugins()
  File "/Users/jni/micromamba/envs/blog/lib/python3.11/site-packages/nikola/nikola.py", line 1173, in init_plugins
    plugin_info.plugin_object.set_site(self)
  File "/Users/jni/micromamba/envs/blog/lib/python3.11/site-packages/nikola/plugins/compile/markdown/__init__.py", line 105, in set_site
    self.converters[lang] = ThreadLocalMarkdown(extensions, lang_extension_configs)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/jni/micromamba/envs/blog/lib/python3.11/site-packages/nikola/plugins/compile/markdown/__init__.py", line 59, in __init__
    self.markdown = Markdown(extensions=extensions, extension_configs=extension_configs, output_format="html5")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/jni/micromamba/envs/blog/lib/python3.11/site-packages/markdown/core.py", line 126, in __init__
    self.registerExtensions(extensions=kwargs.get('extensions', []),
  File "/Users/jni/micromamba/envs/blog/lib/python3.11/site-packages/markdown/core.py", line 187, in registerExtensions
    raise TypeError(
TypeError: Extension "yapsy_loaded_plugin_mdx_podcast_0.PodcastExtension" must be of type: "markdown.extensions.Extension"

I can't find reports of similar errors online after a quick search, so any guidance would be appreciated! 🙏

(I did just see that 8.2.4 is out on PyPI, so it would be good to update the conda-forge feedstock, too: https://github.com/conda-forge/nikola-feedstock/pull/12 Looks like that just needs a merge from @ickc.)

jni commented 7 months ago

Oops, just realised by looking through the release notes that this is a duplicate of #3635! Closing. But if someone could ping/take over maintenance of the conda-forge feedstock, that would be great. The documentation for adding maintainers is here.