sphinx-pyproject icon indicating copy to clipboard operation
sphinx-pyproject copied to clipboard

0.3.0: documentation build fails

Open kloczek opened this issue 2 years ago • 1 comments

+ /usr/bin/sphinx-build -n -T -b man doc-source build/sphinx/man
Running Sphinx v7.0.1
making output directory... done
[autosummary] generating autosummary for: 404.rst, Source.rst, api.rst, index.rst, license.rst, usage.rst
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
loading intersphinx inventory from https://www.sphinx-doc.org/en/stable/objects.inv...
loading intersphinx inventory from https://sphinx-toolbox.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from https://dom-toml.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from https://domdf-python-tools.readthedocs.io/en/latest/objects.inv...
intersphinx inventory has moved: https://www.sphinx-doc.org/en/stable/objects.inv -> https://www.sphinx-doc.org/en/master/objects.inv
building [mo]: targets for 0 po files that are out of date
writing output...
building [man]: all manpages
updating environment: [new config] 6 added, 1 changed, 0 removed
reading sources... [ 83%] license
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sphinx/cmd/build.py", line 285, in build_main
    app.build(args.force_all, args.filenames)
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 351, in build
    self.builder.build_update()
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 291, in build_update
    self.build(['__all__'], to_build)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 311, in build
    updated_docnames = set(self.read())
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 418, in read
    self._read_serial(docnames)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 439, in _read_serial
    self.read_doc(docname)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 495, in read_doc
    publisher.publish()
  File "/usr/lib/python3.8/site-packages/docutils/core.py", line 234, in publish
    self.document = self.reader.read(self.source, self.parser,
  File "/usr/lib/python3.8/site-packages/sphinx/io.py", line 104, in read
    self.parse()
  File "/usr/lib/python3.8/site-packages/docutils/readers/__init__.py", line 76, in parse
    self.parser.parse(self.input, document)
  File "/usr/lib/python3.8/site-packages/sphinxcontrib/default_values/__init__.py", line 345, in parse
    super().parse(inputstring, document)
  File "/usr/lib/python3.8/site-packages/sphinx/parsers.py", line 80, in parse
    self.statemachine.run(inputlines, document, inliner=self.inliner)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 169, in run
    results = StateMachineWS.run(self, input_lines, input_offset,
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 3024, in text
    self.section(title.lstrip(), source, style, lineno + 1, messages)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 325, in section
    self.new_subsection(title, lineno, messages)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 391, in new_subsection
    newabsoffset = self.nested_parse(
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 279, in nested_parse
    state_machine.run(block, input_offset, memo=self.memo,
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 195, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2357, in explicit_markup
    self.explicit_list(blank_finish)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2382, in explicit_list
    newline_offset, blank_finish = self.nested_list_parse(
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 316, in nested_list_parse
    state_machine.run(block, input_offset, memo=self.memo,
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 195, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2660, in explicit_markup
    nodelist, blank_finish = self.explicit_construct(match)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2367, in explicit_construct
    return method(self, expmatch)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2104, in directive
    return self.run_directive(
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2154, in run_directive
    result = directive_instance.run()
  File "/usr/lib/python3.8/site-packages/sphinx_licenseinfo/__init__.py", line 99, in run
    distro = get_distribution(self.options["py"])
  File "/usr/lib/python3.8/site-packages/dist_meta/distributions.py", line 591, in get_distribution
    raise DistributionNotFoundError(name)
dist_meta.distributions.DistributionNotFoundError: sphinx-pyproject

Exception occurred:
  File "/usr/lib/python3.8/site-packages/dist_meta/distributions.py", line 591, in get_distribution
    raise DistributionNotFoundError(name)
dist_meta.distributions.DistributionNotFoundError: sphinx-pyproject
The full traceback has been saved in /tmp/sphinx-err-tkhmz8n6.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!

Here is list of installed modules in build env

Package                       Version
----------------------------- ---------
alabaster                     0.7.13
apeye                         1.4.1
apeye-core                    1.1.4
attrs                         23.1.0
autodocsumm                   0.2.11
Babel                         2.12.1
beautifulsoup4                4.12.2
build                         0.10.0
CacheControl                  0.13.1
charset-normalizer            3.2.0
click                         8.1.6
coincidence                   0.6.5
consolekit                    1.5.1
cssutils                      2.7.1
default-values                0.6.0
deprecation                   2.1.0
deprecation-alias             0.3.2
dict2css                      0.3.0
dist-meta                     0.8.0
distro                        1.8.0
docutils                      0.20.1
dom_toml                      0.6.1
domdf-python-tools            3.6.1
exceptiongroup                1.1.1
extras-require                0.5.0
filelock                      3.12.2
gpg                           1.20.0
handy-archives                0.2.0
html-section                  0.3.0
html5lib                      1.1
idna                          3.4
imagesize                     1.4.1
importlib-metadata            6.8.0
iniconfig                     2.0.0
installer                     0.7.0
Jinja2                        3.1.2
libcomps                      0.1.19
MarkupSafe                    2.1.3
mistletoe                     1.1.0
msgpack                       1.0.5
natsort                       8.3.1
packaging                     23.1
platformdirs                  3.10.0
pluggy                        1.2.0
pychoosealicense              2023.4.25
Pygments                      2.16.0
pypi-json                     0.4.0
pyproject_hooks               1.0.0
pyproject-parser              0.9.1
pytest                        7.4.0
pytest-datadir                1.4.1
pytest-regressions            2.4.2
pytest-timeout                2.1.0
python-dateutil               2.8.2
python-frontmatter            1.0.0
pytz                          2023.2
PyYAML                        6.0.1
requests                      2.31.0
ruamel.yaml                   0.17.32
ruamel.yaml.clib              0.2.7
seed-intersphinx-mapping      1.2.2
setuptools                    68.0.0
shippinglabel                 1.5.0
six                           1.16.0
snowballstemmer               2.2.0
soupsieve                     2.4.1
Sphinx                        7.0.1
sphinx_autodoc_typehints      1.22.0
sphinx-copybutton             0.5.1
sphinx-debuginfo              0.2.2
sphinx-jinja2-compat          0.2.0
sphinx-licenseinfo            0.4.0
sphinx-notfound-page          0.8.3
sphinx-packaging              0.2.0
sphinx-prompt                 1.6.0
sphinx-tabs                   3.4.1
sphinx-toolbox                3.5.0
sphinxcontrib-applehelp       1.0.4
sphinxcontrib-devhelp         1.0.2
sphinxcontrib-htmlhelp        2.0.3
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.3
sphinxcontrib-serializinghtml 1.1.5
sphinxemoji                   0.2.0
tabulate                      0.9.0
toctree-plus                  0.6.1
toml                          0.10.2
tomli                         2.0.1
typing_extensions             4.7.1
urllib3                       1.26.15
webencodings                  0.5.1
wheel                         0.41.1
whey                          0.0.24
zipp                          3.16.2

kloczek avatar Aug 19 '23 18:08 kloczek

In description is "The SphinxConfig class will load the configuration from pyproject.toml". Looks like this is not true and some data are obtained not from pyproject.toml but from module metadata. As sphinx-pyproject uses whey as pep517 backend those metadata are generated and packaged but directory sphinx-pyproject.dist-info is deleted. As long as sphinx-pyproject uses metadata this module is kind of useless because it is not possible to build documentation without installing module.

kloczek avatar May 28 '24 17:05 kloczek