I haven't built my docs in a few months and now I'm unable to resolve AliasResolutionErrors for external imports:
File "../miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/models.py", line 1737, in _resolve_target
raise AliasResolutionError(self) from error
_griffe.exceptions.AliasResolutionError: Could not resolve alias tolvera.utils.torch pointing at torch (in src/tolvera/utils.py:13)
Referencing this import: https://github.com/afhverjuekki/tolvera/blob/main/src/tolvera/utils.py#L13
I have tried every variation of preload_modules, allow_inspection etc and this one won't go away.
Fixed in v1.14.6 ๐
ignore_when_discovering
LLM hallucination?
You're trying to render docs for this tolvera package right? I'll try running a debug session to investigate ๐ Would help if you could share the full traceback.
1 reply
Thanks for quick reply.
Trace with load_external_modules: true
ERROR - Error building page 'reference/tolvera/iml.md': Could not resolve
alias tolvera.utils.torch pointing at torch (in
src/tolvera/utils.py:13)
Traceback (most recent call last):
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs_autorefs/plugin.py", line 199, in _get_urls
return self._primary_url_map[identifier], "primary"
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'tolvera.utils.torch.Tensor'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs_autorefs/plugin.py", line 211, in _get_item_url
urls, qualifier = self._get_urls(identifier)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs_autorefs/plugin.py", line 201, in _get_urls
return self._secondary_url_map[identifier], "secondary"
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'tolvera.utils.torch.Tensor'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/models.py", line 1735, in _resolve_target
resolved = self.modules_collection.get_member(self.target_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/mixins.py", line 83, in get_member
return self.members[parts[0]] # type: ignore[attr-defined]
~~~~~~~~~~~~^^^^^^^^^^
KeyError: 'torch'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs/livereload/__init__.py", line 211, in _build_loop
self.builder()
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs/commands/serve.py", line 67, in builder
build(config, serve_url=None if is_clean else serve_url, dirty=is_dirty)
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs/commands/build.py", line 337, in build
_build_page(
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs/commands/build.py", line 226, in _build_page
output = config.plugins.on_post_page(output, page=page, config=config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs/plugins.py", line 646, in on_post_page
return self.run_event('post_page', output, page=page, config=config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs/plugins.py", line 566, in run_event
result = method(item, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs_autorefs/plugin.py", line 354, in on_post_page
fixed_output, unmapped = fix_refs(output, url_mapper, _legacy_refs=self.legacy_refs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs_autorefs/references.py", line 454, in fix_refs
html = AUTOREF_RE.sub(fix_ref(url_mapper, unmapped), html)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs_autorefs/references.py", line 409, in inner
url = _find_url(identifiers, url_mapper)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs_autorefs/references.py", line 370, in _find_url
return url_mapper(identifier)
^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs_autorefs/plugin.py", line 254, in get_item_url
url = self._get_item_url(identifier, from_url, fallback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs_autorefs/plugin.py", line 217, in _get_item_url
new_identifiers = fallback(identifier)
^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocstrings/handlers/base.py", line 613, in get_anchors
aliases = handler.get_aliases(identifier)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocstrings_handlers/python/handler.py", line 309, in get_aliases
data = self._modules_collection[identifier]
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/mixins.py", line 62, in __getitem__
return self.all_members[parts[0]][parts[1:]] # type: ignore[attr-defined]
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/mixins.py", line 62, in __getitem__
return self.all_members[parts[0]][parts[1:]] # type: ignore[attr-defined]
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/mixins.py", line 62, in __getitem__
return self.all_members[parts[0]][parts[1:]] # type: ignore[attr-defined]
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/mixins.py", line 61, in __getitem__
return self.all_members[parts[0]] # type: ignore[attr-defined]
^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/mixins.py", line 299, in all_members
if self.is_class: # type: ignore[attr-defined]
^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/models.py", line 1346, in is_class
return self.final_target.is_class
^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/models.py", line 1697, in final_target
target = target.target # type: ignore[assignment]
^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/models.py", line 1662, in target
self.resolve_target()
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/models.py", line 1729, in resolve_target
self._resolve_target()
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/models.py", line 1737, in _resolve_target
raise AliasResolutionError(self) from error
_griffe.exceptions.AliasResolutionError: Could not resolve alias tolvera.utils.torch pointing at torch (in src/tolvera/utils.py:13)
0 replies
Trace with
- mkdocstrings:
handlers:
python:
options:
preload_modules:
- torch
- taichi
- numpy
- jsons
ERROR - Error reading page 'reference/tolvera/context.md': Could not resolve
alias taichi._lib.core pointing at taichi._lib.utils.ti_python_core
(in
/miniconda3/envs/tolvera/lib/python3.11/site-packages/taichi/_lib/__init__.py:1)
Traceback (most recent call last):
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/models.py", line 1735, in _resolve_target
resolved = self.modules_collection.get_member(self.target_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/mixins.py", line 84, in get_member
return self.members[parts[0]].get_member(parts[1:]) # type: ignore[attr-defined]
~~~~~~~~~~~~^^^^^^^^^^
KeyError: 'taichi'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs/livereload/__init__.py", line 211, in _build_loop
self.builder()
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs/commands/serve.py", line 67, in builder
build(config, serve_url=None if is_clean else serve_url, dirty=is_dirty)
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs/commands/build.py", line 310, in build
_populate_page(file.page, config, files, dirty)
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs/commands/build.py", line 167, in _populate_page
page.render(config, files)
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocs/structure/pages.py", line 285, in render
self.content = md.convert(self.markdown)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/markdown/core.py", line 357, in convert
root = self.parser.parseDocument(self.lines).getroot()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/markdown/blockparser.py", line 117, in parseDocument
self.parseChunk(self.root, '\n'.join(lines))
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/markdown/blockparser.py", line 136, in parseChunk
self.parseBlocks(parent, text.split('\n\n'))
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/markdown/blockparser.py", line 158, in parseBlocks
if processor.run(parent, blocks) is not False:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocstrings/extension.py", line 125, in run
html, handler, data = self._process_block(identifier, block, heading_level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocstrings/extension.py", line 188, in _process_block
data: CollectorItem = handler.collect(identifier, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/mkdocstrings_handlers/python/handler.py", line 229, in collect
loader.load(
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/loader.py", line 181, in load
top_module = self._load_package(package, submodules=submodules)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/loader.py", line 508, in _load_package
top_module = self._load_module(package.name, package.path, submodules=submodules)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/loader.py", line 532, in _load_module
return self._load_module_path(module_name, module_path, submodules=submodules, parent=parent)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/loader.py", line 562, in _load_module_path
self._load_submodules(module)
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/loader.py", line 567, in _load_submodules
self._load_submodule(module, subparts, subpath)
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/loader.py", line 575, in _load_submodule
parent_module = self._get_or_create_parent_module(module, subparts, subpath)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/loader.py", line 698, in _get_or_create_parent_module
parent_namespace = parent_module.is_namespace_package or parent_module.is_namespace_subpackage
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/models.py", line 1571, in is_namespace_package
return cast(Module, self.final_target).is_namespace_package
^^^^^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/models.py", line 1697, in final_target
target = target.target # type: ignore[assignment]
^^^^^^^^^^^^^
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/models.py", line 1662, in target
self.resolve_target()
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/models.py", line 1729, in resolve_target
self._resolve_target()
File "/miniconda3/envs/tolvera/lib/python3.11/site-packages/_griffe/models.py", line 1737, in _resolve_target
raise AliasResolutionError(self) from error
_griffe.exceptions.AliasResolutionError: Could not resolve alias taichi._lib.core pointing at taichi._lib.utils.ti_python_core (in /miniconda3/envs/tolvera/lib/python3.11/site-packages/taichi/_lib/__init__.py:1)
2 replies