Strangely, works under sphinx 6.1.3 but not under 7.0.1, both with argparse 
0.4.0

On Thursday, July 27, 2023 at 5:00:37 AM UTC-4 Boyan Penkov wrote:

> Hey Mats -- thanks, that's clear...
>
> The question is why does this come up in released code?  The same error 
> does not occur in the conda argparse running under Sphinx 6.1.3, running 
> under python3.9.
>
> Cheers!
>
> On Wednesday, July 26, 2023 at 7:41:30 PM UTC-4 mats.w...@gmail.com wrote:
>
>> Not directly, but this is a really classic Python error:
>>
>> TypeError: expected str, bytes or os.PathLike object, not NoneTyp 
>>
>> it means something returned None when the caller wasn't expecting None.  
>> shutil.which returns None if it could't find any matches for the thing it 
>> was asked to look up.
>>
>> On Wed, Jul 26, 2023 at 4:16 PM Boyan Penkov <boyan....@gmail.com> wrote:
>>
>>> Hello folks,
>>>
>>> I'm writing to ask if folks have seen the following argparse errors:
>>>
>>> ```
>>> # Platform:         linux; (Linux-6.1.0-9-amd64-x86_64-with-glibc2.36)
>>> # Sphinx version:   7.0.1
>>> # Python version:   3.10.12 (CPython)
>>> # Docutils version: 0.20.1
>>> # Jinja2 version:   3.1.2
>>> # Pygments version: 2.15.1
>>>
>>> # Last messages:
>>> #   done
>>> #   [autosummary] generating autosummary for: index.rst
>>> #   building [mo]: targets for 0 po files that are out of date
>>> #   writing output...
>>> #   
>>> #   building [coverage]: coverage overview
>>> #   updating environment:
>>> #   [new config]
>>> #   1 added, 0 changed, 0 removed
>>> #   reading sources... [100%] index
>>>
>>> # Loaded extensions:
>>> #   sphinx.ext.mathjax (7.0.1)
>>> #   alabaster (0.7.13)
>>> #   sphinxcontrib.applehelp (1.0.4)
>>> #   sphinxcontrib.devhelp (1.0.2)
>>> #   sphinxcontrib.htmlhelp (2.0.1)
>>> #   sphinxcontrib.serializinghtml (1.1.5)
>>> #   sphinxcontrib.qthelp (1.0.3)
>>> #   sphinx.ext.autodoc.preserve_defaults (7.0.1)
>>> #   sphinx.ext.autodoc.type_comment (7.0.1)
>>> #   sphinx.ext.autodoc.typehints (7.0.1)
>>> #   sphinx.ext.autodoc (7.0.1)
>>> #   sphinx.ext.autosummary (7.0.1)
>>> #   numpydoc (1.5.0)
>>> #   sphinx.ext.coverage (7.0.1)
>>> #   sphinxarg.ext (0.2.5)
>>> #   m2r2 (0.3.3.post2)
>>>
>>> # Traceback:
>>> Traceback (most recent call last):
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/sphinx/cmd/build.py",
>>>  
>>> line 285, in build_main
>>>     app.build(args.force_all, args.filenames)
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/sphinx/application.py",
>>>  
>>> line 351, in build
>>>     self.builder.build_update()
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/sphinx/builders/__init__.py",
>>>  
>>> line 291, in build_update
>>>     self.build(['__all__'], to_build)
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/sphinx/builders/__init__.py",
>>>  
>>> line 311, in build
>>>     updated_docnames = set(self.read())
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/sphinx/builders/__init__.py",
>>>  
>>> line 418, in read
>>>     self._read_serial(docnames)
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/sphinx/builders/__init__.py",
>>>  
>>> line 439, in _read_serial
>>>     self.read_doc(docname)
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/sphinx/builders/__init__.py",
>>>  
>>> line 495, in read_doc
>>>     publisher.publish()
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/core.py",
>>>  
>>> line 234, in publish
>>>     self.document = self.reader.read(self.source, self.parser,
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/sphinx/io.py",
>>>  
>>> line 104, in read
>>>     self.parse()
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/readers/__init__.py",
>>>  
>>> line 76, in parse
>>>     self.parser.parse(self.input, document)
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/sphinx/parsers.py",
>>>  
>>> line 80, in parse
>>>     self.statemachine.run(inputlines, document, inliner=self.inliner)
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/parsers/rst/states.py",
>>>  
>>> line 169, in run
>>>     results = StateMachineWS.run(self, input_lines, input_offset,
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/statemachine.py",
>>>  
>>> line 233, in run
>>>     context, next_state, result = self.check_line(
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/statemachine.py",
>>>  
>>> line 445, in check_line
>>>     return method(match, context, next_state)
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/parsers/rst/states.py",
>>>  
>>> line 2785, in underline
>>>     self.section(title, source, style, lineno - 1, messages)
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/parsers/rst/states.py",
>>>  
>>> line 325, in section
>>>     self.new_subsection(title, lineno, messages)
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/parsers/rst/states.py",
>>>  
>>> line 391, in new_subsection
>>>     newabsoffset = self.nested_parse(
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/parsers/rst/states.py",
>>>  
>>> line 279, in nested_parse
>>>     state_machine.run(block, input_offset, memo=self.memo,
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/parsers/rst/states.py",
>>>  
>>> line 195, in run
>>>     results = StateMachineWS.run(self, input_lines, input_offset)
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/statemachine.py",
>>>  
>>> line 233, in run
>>>     context, next_state, result = self.check_line(
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/statemachine.py",
>>>  
>>> line 445, in check_line
>>>     return method(match, context, next_state)
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/parsers/rst/states.py",
>>>  
>>> line 2355, in explicit_markup
>>>     nodelist, blank_finish = self.explicit_construct(match)
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/parsers/rst/states.py",
>>>  
>>> line 2367, in explicit_construct
>>>     return method(self, expmatch)
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/parsers/rst/states.py",
>>>  
>>> line 2104, in directive
>>>     return self.run_directive(
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/docutils/parsers/rst/states.py",
>>>  
>>> line 2154, in run_directive
>>>     result = directive_instance.run()
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/sphinxarg/ext.py",
>>>  
>>> line 464, in run
>>>     f = self._open_filename()
>>>   File 
>>> "/home/boyan/miniconda3/envs/py310/lib/python3.10/site-packages/sphinxarg/ext.py",
>>>  
>>> line 448, in _open_filename
>>>     return open(shutil.which(self.options['filename']))
>>> TypeError: expected str, bytes or os.PathLike object, not NoneType
>>>
>>> ```
>>>
>>> Anybody have a suggestion here?
>>>
>>> Cheers!
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "sphinx-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to sphinx-users...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/sphinx-users/c44efdfc-3e9a-4dca-b854-4c097189b5ccn%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/sphinx-users/c44efdfc-3e9a-4dca-b854-4c097189b5ccn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"sphinx-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sphinx-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sphinx-users/4ec8891a-36d2-4182-a45c-7c6b418edb61n%40googlegroups.com.

Reply via email to