2

I've seen this question asked here before, for example, here, or here, or the most useful here. But I believe my problem is different than theirs, or I am doing something incorrectly.

My python file hello_world is:

import numpy as np

"""
This is the header
"""

def say_hi(name):
    """
    This is just a test
    :param param1: this is the name
    :returns returns the name entered
    """
    print(name)
    return None

I create a folder docs, where I run sphinx-quickstart. I get the conf.py and index.rst which I change to:

# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Path setup --------------------------------------------------------------

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os
import sys
sys.path.insert(0, os.path.abspath('..'))


# -- Project information -----------------------------------------------------

project = 'project'
copyright = '2021, lol'
author = 'lol'

# The full version, including alpha/beta/rc tags
release = '0.0.1'


# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
]

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']


# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages.  See the documentation for
# a list of builtin themes.
#
html_theme = 'alabaster'

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']

So, I told sphinx what path to look for. I add the line modules to index.rst as indicated in this tutorial. So, that file looks like this:

.. project documentation master file, created by
   sphinx-quickstart on Mon Jul 19 21:46:14 2021.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Welcome to project's documentation!
===================================

.. toctree::
   :maxdepth: 2
   :caption: Contents:

   modules

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

Then, I run sphinx-apidoc -o . .., and finally make html.

That process generates an html file, but it doesn't have any documentation image

Does anyone know how to fix this? or does anyone know a tutorial that actually works? Thanks!

Edit*

Sphinx outputs a warning when running make html: WARNING: Unknown directive type "automodule". I googled it and found this https://cloud.tencent.com/developer/ask/111346 . after including extensions = ['sphinx.ext.autodoc'] to the index.rst file, it outputs this:

image2

There seems to be a problem with my formatting though, but that's a different issue.

bad_coder
  • 11,289
  • 20
  • 44
  • 72
Schach21
  • 412
  • 4
  • 21
  • Does Sphinx output any errors or warning messages? Where exactly in the project is hello_world.py located? What is the content of modules.rst? Please ensure that you provide a [mcve]. – mzjn Jul 20 '21 at 04:39
  • Try `make clean` then build. You might have a cached version of the page. – Steve Piercy Jul 20 '21 at 07:08
  • I edited the question. I paid attention to the warning, and now it seems to be working (very stupid of me to just ignore the warning). The formatting of the documentation is not correct, but that's another issue. Thanks! – Schach21 Jul 20 '21 at 13:08
  • 1
    If the problem is solved, post the solution as an Answer. Do not put the solution in the Question. And `extensions = ['sphinx.ext.autodoc']` goes into conf.py, not index.rst. – mzjn Jul 20 '21 at 13:31

1 Answers1

0

The solution in this case was to add extensions = ['sphinx.ext.autodoc'] to the conf.py file.

Schach21
  • 412
  • 4
  • 21