Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sphinx 3.0.0 broke the docs #3506

Closed
gforsyth opened this issue Apr 7, 2020 · 7 comments
Closed

Sphinx 3.0.0 broke the docs #3506

gforsyth opened this issue Apr 7, 2020 · 7 comments

Comments

@gforsyth
Copy link
Collaborator

gforsyth commented Apr 7, 2020

I'll grab a traceback after I reinstall sphinx 3 -- quick workaround is to downgrade to sphinx==2.4.4

@gforsyth
Copy link
Collaborator Author

gforsyth commented Apr 7, 2020

Exception occurred:
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/util/docstrings.py", line 54, in prepare_docstring
    lines = s.expandtabs(tabsize).splitlines()
AttributeError: 'getset_descriptor' object has no attribute 'expandtabs'
The full traceback has been saved in /tmp/sphinx-err-k0ticwcz.log, if you want to report the issue to the developers.

@gforsyth
Copy link
Collaborator Author

gforsyth commented Apr 7, 2020

And here's the full traceback:

Traceback (most recent call last):
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/cmd/build.py", line 280, in build_main
    app.build(args.force_all, filenames)
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/application.py", line 348, in build
    self.builder.build_update()
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 299, in build_update
    len(to_build))
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 311, in build
    updated_docnames = set(self.read())
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 418, in read
    self._read_serial(docnames)
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 439, in _read_serial
    self.read_doc(docname)
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 479, in read_doc
    doctree = read_doc(self.app, self.env, self.env.doc2path(docname))
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/io.py", line 221, in read_doc
    pub.publish()
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/core.py", line 217, in publish
...skipping...
    self._read_serial(docnames)
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 439, in _read_serial
    self.read_doc(docname)
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 479, in read_doc
    doctree = read_doc(self.app, self.env, self.env.doc2path(docname))
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/io.py", line 221, in read_doc
    pub.publish()
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/core.py", line 217, in publish
    self.settings)
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/io.py", line 126, in read
    self.parse()
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/readers/__init__.py", line 78, in parse
    self.parser.parse(self.input, document)
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/parsers.py", line 102, in parse
    self.statemachine.run(inputlines, document, inliner=self.inliner)
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 171, in run
    input_source=document['source'])
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/statemachine.py", line 239, in run
    context, state, transitions)
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/statemachine.py", line 460, in check_line
    return method(match, context, next_state)
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 2988, in text
    self.section(title.lstrip(), source, style, lineno + 1, messages)
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 327, in section
    self.new_subsection(title, lineno, messages)
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 395, in new_subsection
    node=section_node, match_titles=True)
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 282, in nested_parse
    node=node, match_titles=match_titles)
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 196, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/statemachine.py", line 239, in run
    context, state, transitions)
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/statemachine.py", line 460, in check_line
    return method(match, context, next_state)
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 2326, in explicit_markup
    nodelist, blank_finish = self.explicit_construct(match)
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 2338, in explicit_construct
    return method(self, expmatch)
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 2081, in directive
    directive_class, match, type_name, option_presets)
  File "/opt/miniconda3/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 2130, in run_directive
    result = directive_instance.run()
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/ext/autodoc/directive.py", line 146, in run
    documenter.generate(more_content=self.content)
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/ext/autodoc/__init__.py", line 769, in generate
    self.document_members(all_members)
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/ext/autodoc/__init__.py", line 659, in document_members
    for (mname, member, isattr) in self.filter_members(members, want_all):
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/ext/autodoc/__init__.py", line 570, in filter_members
    metadata = extract_metadata(doc)
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/util/docstrings.py", line 29, in extract_metadata
    for line in prepare_docstring(s):
  File "/opt/miniconda3/lib/python3.7/site-packages/sphinx/util/docstrings.py", line 54, in prepare_docstring
    lines = s.expandtabs(tabsize).splitlines()
AttributeError: 'getset_descriptor' object has no attribute 'expandtabs'

@laloch
Copy link
Member

laloch commented Apr 9, 2020

Upstream bug report: sphinx-doc/sphinx#7451

@laloch
Copy link
Member

laloch commented Apr 9, 2020

This is triggered by

>>> type(xonsh.inspectors._builtin_func_type.__doc__)
getset_descriptor
>>> type(xonsh.inspectors._builtin_meth_type.__doc__)
getset_descriptor

__doc__ should be of str type.

@laloch
Copy link
Member

laloch commented Apr 10, 2020

The exception has been fixed in Sphinx 3.0.1.

@dannysepler
Copy link
Contributor

i think this can be closed now btw!

@scopatz scopatz closed this as completed Sep 1, 2020
@scopatz
Copy link
Member

scopatz commented Sep 1, 2020

Thanks @dannysepler!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants