PyWavelets / pywt

PyWavelets - Wavelet Transforms in Python
http://pywavelets.readthedocs.org
MIT License
2.04k stars 470 forks source link

MAINT: fix doc build on ReadTheDocs #606

Closed rgommers closed 2 years ago

rgommers commented 2 years ago

This is the workaround for https://github.com/sphinx-doc/sphinx/issues/9788

Also update the intersphinx link for NumPy. NumPy moved away from docs.scipy.org quite a while ago. Pointing to numpy.org/devdocs matches what SciPy does.

rgommers commented 2 years ago

We don't do the doc build in CI, so let me merge this straight away and see if that fixes things on RTD. The failure there right now is:

Running Sphinx v1.8.5
PyWavelets (VERSION 1.2.0.dev)
loading translations [en]... done
making output directory...
loading intersphinx inventory from https://docs.scipy.org/doc/numpy/objects.inv...
intersphinx inventory has moved: https://docs.scipy.org/doc/numpy/objects.inv -> https://numpy.org/doc/stable/objects.inv
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 48 source files that are out of date
updating environment: 48 added, 0 changed, 0 removed
reading sources... [  2%] common_refs
reading sources... [  4%] contributing
reading sources... [  6%] dev/building_extension
reading sources... [  8%] dev/conduct/code_of_conduct
reading sources... [ 10%] dev/conduct/report_handling_manual
reading sources... [ 12%] dev/how_to_release
reading sources... [ 14%] dev/index
reading sources... [ 16%] dev/installing_build_dependencies
reading sources... [ 18%] dev/preparing_linux_build_environment
reading sources... [ 20%] dev/preparing_windows_build_environment
reading sources... [ 22%] dev/testing
reading sources... [ 25%] index
reading sources... [ 27%] install
reading sources... [ 29%] ref/2d-decompositions-overview

Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/sphinx/cmd/build.py", line 304, in build_main
    app.build(args.force_all, filenames)
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/sphinx/application.py", line 341, in build
    self.builder.build_update()
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 347, in build_update
    len(to_build))
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 360, in build
    updated_docnames = set(self.read())
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 468, in read
    self._read_serial(docnames)
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 490, in _read_serial
    self.read_doc(docname)
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 534, in read_doc
    doctree = read_doc(self.app, self.env, self.env.doc2path(docname))
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/sphinx/io.py", line 318, in read_doc
    pub.publish()
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/docutils/core.py", line 219, in publish
    self.apply_transforms()
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/docutils/core.py", line 200, in apply_transforms
    self.document.transformer.apply_transforms()
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/sphinx/transforms/__init__.py", line 90, in apply_transforms
    Transformer.apply_transforms(self)
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/docutils/transforms/__init__.py", line 171, in apply_transforms
    transform.apply(**kwargs)
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/sphinx/transforms/references.py", line 38, in apply
    domain.process_doc(self.env, self.env.docname, self.document)
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/sphinx/domains/std.py", line 586, in process_doc
    self.note_labels(env, docname, document)
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/sphinx/domains/std.py", line 638, in note_labels
    n = node.traverse(addnodes.toctree)[0]
TypeError: 'generator' object is not subscriptable

Exception occurred:
  File "/home/docs/checkouts/readthedocs.org/user_builds/pywavelets/envs/latest/lib/python3.7/site-packages/sphinx/domains/std.py", line 638, in note_labels
    n = node.traverse(addnodes.toctree)[0]
TypeError: 'generator' object is not subscriptable
The full traceback has been saved in /tmp/sphinx-err-fsvzx92h.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!
rgommers commented 2 years ago

That did indeed fix things.