Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error mkdocstrings generation error "No module named"

I was building a documentation site for my python project using mkdocstrings.

For generating the code referece files I followed this instructions https://mkdocstrings.github.io/recipes/

I get these errors:

    INFO     
    -  Building documentation... INFO     
    -  Cleaning site directory INFO     
    -  The following pages exist in the docs directory, but are not included in the "nav" configuration:               - reference\SUMMARY.md               
    - reference_init_.md 
    ... ...               
    - reference\tests\manual_tests.md ERROR    
    -  mkdocstrings: No module named ' ' ERROR    
    -  Error reading page 'reference/init.md': ERROR    
    -  Could not collect ' '

This is my file structure: project structure

This is my docs folder: docs folder

I have the same gen_ref_pages.py file shown in the page:


    from pathlib import Path

    import mkdocs_gen_files

    nav = mkdocs_gen_files.Nav()

    for path in sorted(Path("src").rglob("*.py")):
        module_path = path.relative_to("src").with_suffix("")
        doc_path = path.relative_to("src").with_suffix(".md")
        full_doc_path = Path("reference", doc_path)

        parts = tuple(module_path.parts)

        if parts[-1] == "__init__":
            parts = parts[:-1]
        elif parts[-1] == "__main__":
            continue

        nav[parts] = doc_path.as_posix()  # 

        with mkdocs_gen_files.open(full_doc_path, "w") as fd:
            ident = ".".join(parts)
            fd.write(f"::: {ident}")

        mkdocs_gen_files.set_edit_path(full_doc_path, path)

    with mkdocs_gen_files.open("reference/SUMMARY.md", "w") as nav_file:  # 
        nav_file.writelines(nav.build_literate_nav())  #    ```

This is my mkdocs.yml:

```    site_name: CA Prediction Docs

    theme:
      name: "material"
      palette:
        primary: deep purple
      logo: assets/logo.png
      favicon: assets/favicon.png
      features:
        - navigation.instant
        - navigation.tabs
        - navigation.expand
        - navigation.top
        # - navigation.sections
        - search.highlight
        - navigation.footer
      icon:
        repo: fontawesome/brands/git-alt

    copyright: Copyright © 2022 - 2023 Ezequiel González

    extra:
      social:
        - icon: fontawesome/brands/github
          link: https://github.com/ezegonmac
        - icon: fontawesome/brands/linkedin
          link: https://www.linkedin.com/in/ezequiel-gonzalez-macho-329583223/

    repo_url: https://github.com/ezegonmac/TFG-CellularAutomata
    repo_name: ezegonmac/TFG-CellularAutomata

    plugins:
      - search
      - gen-files:
          scripts:
          - docs/gen_ref_pages.py
      - mkdocstrings

    nav:
      - Introduction: index.md
      - Getting Started: getting-started.md
      - API Reference: reference.md
      # - Reference: reference/
      - Explanation: explanation.md
like image 694
Ezequiel González Macho Avatar asked Aug 02 '26 07:08

Ezequiel González Macho


1 Answers

For anyone experiencing this error as at 2024, simply install mkdocstrings-python.

For pip

pip install "mkdocstrings[python]"

For poetry

poetry add "mkdocstrings[python]"

Now within your markdown you can reference actual py files using the below syntax.

Reference source

# API Reference

---
## Pydantic Models

:::api.monitoring_api.models.pydantic.base
:::api.monitoring_api.models.pydantic.notifications
:::api.monitoring_api.models.pydantic.configurations

---
## Services

:::api.monitoring_api.services.notifications

There's a good tutorial on Real Python here

like image 180
Tega Ukavwe Avatar answered Aug 04 '26 20:08

Tega Ukavwe



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!