mkdocs build : ImportError: cannot import name 'contextfunction' from 'jinja2' #7258

Closed
opened 2025-12-29 20:20:57 +01:00 by adam · 0 comments
Owner

Originally created by @gizmo15 on GitHub (Nov 19, 2022).

NetBox version

v3.3.7

Python version

3.9

Steps to Reproduce

Hi,

On FreeBSD with python 3.9.15 for netbox 3.3.7 (upgrade from 3.3.6).

During the upgrade, those upgrade steps are given :

python3.9 manage.py migrate
python3.9 manage.py trace_paths --no-input
mkdocs build
python3.9 manage.py collectstatic --no-input
python3.9 manage.py remove_stale_contenttypes --no-input
python3.9 manage.py clearsessions
python3.9 manage.py clearcache

But when i do mkdocs build, i have an error

I performed the last steps without any problems.

Netbox working nice (from what I could see), do i need to re-run this command or i need to fix something before?

Thanks

Expected Behavior

Building documentation

Observed Behavior

mkdocs build error :

[root@web01 /usr/local/share/netbox]# mkdocs build
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/mkdocs/config/config_options.py", line 950, in load_plugin
    plugin = self.plugin_cache[name]
KeyError: 'mkdocstrings'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/mkdocs", line 33, in <module>
    sys.exit(load_entry_point('mkdocs==1.4.0', 'console_scripts', 'mkdocs')())
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/mkdocs/__main__.py", line 247, in build_command
    cfg = config.load_config(**kwargs)
  File "/usr/local/lib/python3.9/site-packages/mkdocs/config/base.py", line 363, in load_config
    errors, warnings = cfg.validate()
  File "/usr/local/lib/python3.9/site-packages/mkdocs/config/base.py", line 228, in validate
    run_failed, run_warnings = self._validate()
  File "/usr/local/lib/python3.9/site-packages/mkdocs/config/base.py", line 186, in _validate
    self[key] = config_option.validate(value)
  File "/usr/local/lib/python3.9/site-packages/mkdocs/config/config_options.py", line 132, in validate
    return self.run_validation(value)
  File "/usr/local/lib/python3.9/site-packages/mkdocs/config/config_options.py", line 936, in run_validation
    self.plugins[item] = self.load_plugin(item, cfg)
  File "/usr/local/lib/python3.9/site-packages/mkdocs/config/config_options.py", line 952, in load_plugin
    Plugin = self.installed_plugins[name].load()
  File "/usr/local/lib/python3.9/site-packages/importlib_metadata/__init__.py", line 194, in load
    module = import_module(match.group('module'))
  File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/usr/local/lib/python3.9/site-packages/mkdocstrings/plugin.py", line 29, in <module>
    from mkdocstrings.extension import MkdocstringsExtension
  File "/usr/local/lib/python3.9/site-packages/mkdocstrings/extension.py", line 38, in <module>
    from mkdocstrings.handlers.base import BaseHandler, CollectionError, CollectorItem, Handlers
  File "/usr/local/lib/python3.9/site-packages/mkdocstrings/handlers/base.py", line 28, in <module>
    from mkdocstrings.loggers import get_template_logger
  File "/usr/local/lib/python3.9/site-packages/mkdocstrings/loggers.py", line 7, in <module>
    from jinja2 import contextfunction
ImportError: cannot import name 'contextfunction' from 'jinja2' (/usr/local/lib/python3.9/site-packages/jinja2/__init__.py)
Originally created by @gizmo15 on GitHub (Nov 19, 2022). ### NetBox version v3.3.7 ### Python version 3.9 ### Steps to Reproduce Hi, On FreeBSD with python 3.9.15 for netbox 3.3.7 (upgrade from 3.3.6). During the upgrade, those upgrade steps are given : ``` python3.9 manage.py migrate python3.9 manage.py trace_paths --no-input mkdocs build python3.9 manage.py collectstatic --no-input python3.9 manage.py remove_stale_contenttypes --no-input python3.9 manage.py clearsessions python3.9 manage.py clearcache ``` But when i do mkdocs build, i have an error I performed the last steps without any problems. Netbox working nice (from what I could see), do i need to re-run this command or i need to fix something before? Thanks ### Expected Behavior Building documentation ### Observed Behavior mkdocs build error : ``` [root@web01 /usr/local/share/netbox]# mkdocs build Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/mkdocs/config/config_options.py", line 950, in load_plugin plugin = self.plugin_cache[name] KeyError: 'mkdocstrings' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/bin/mkdocs", line 33, in <module> sys.exit(load_entry_point('mkdocs==1.4.0', 'console_scripts', 'mkdocs')()) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1128, in __call__ return self.main(*args, **kwargs) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1053, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1659, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1395, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.9/site-packages/click/core.py", line 754, in invoke return __callback(*args, **kwargs) File "/usr/local/lib/python3.9/site-packages/mkdocs/__main__.py", line 247, in build_command cfg = config.load_config(**kwargs) File "/usr/local/lib/python3.9/site-packages/mkdocs/config/base.py", line 363, in load_config errors, warnings = cfg.validate() File "/usr/local/lib/python3.9/site-packages/mkdocs/config/base.py", line 228, in validate run_failed, run_warnings = self._validate() File "/usr/local/lib/python3.9/site-packages/mkdocs/config/base.py", line 186, in _validate self[key] = config_option.validate(value) File "/usr/local/lib/python3.9/site-packages/mkdocs/config/config_options.py", line 132, in validate return self.run_validation(value) File "/usr/local/lib/python3.9/site-packages/mkdocs/config/config_options.py", line 936, in run_validation self.plugins[item] = self.load_plugin(item, cfg) File "/usr/local/lib/python3.9/site-packages/mkdocs/config/config_options.py", line 952, in load_plugin Plugin = self.installed_plugins[name].load() File "/usr/local/lib/python3.9/site-packages/importlib_metadata/__init__.py", line 194, in load module = import_module(match.group('module')) File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/usr/local/lib/python3.9/site-packages/mkdocstrings/plugin.py", line 29, in <module> from mkdocstrings.extension import MkdocstringsExtension File "/usr/local/lib/python3.9/site-packages/mkdocstrings/extension.py", line 38, in <module> from mkdocstrings.handlers.base import BaseHandler, CollectionError, CollectorItem, Handlers File "/usr/local/lib/python3.9/site-packages/mkdocstrings/handlers/base.py", line 28, in <module> from mkdocstrings.loggers import get_template_logger File "/usr/local/lib/python3.9/site-packages/mkdocstrings/loggers.py", line 7, in <module> from jinja2 import contextfunction ImportError: cannot import name 'contextfunction' from 'jinja2' (/usr/local/lib/python3.9/site-packages/jinja2/__init__.py) ```
adam closed this issue 2025-12-29 20:20:57 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#7258