bskinn / sphobjinv

Toolkit for manipulation and inspection of Sphinx objects.inv files
https://sphobjinv.readthedocs.io
MIT License
78 stars 9 forks source link

2.1: sphinx 4.0.2 warnings #202

Closed kloczek closed 3 years ago

kloczek commented 3 years ago
+ /usr/bin/python3 setup.py build_sphinx -b man --build-dir build/sphinx
running build_sphinx
Running Sphinx v4.0.2
making output directory... done
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
loading intersphinx inventory from https://www.sphinx-doc.org/en/master/objects.inv...
building [mo]: targets for 0 po files that are out of date
building [man]: all manpages
updating environment: [new config] 24 added, 0 changed, 0 removed
reading sources... [100%] syntax
WARNING: autodoc: failed to import module 'cli.core' from module 'sphobjinv'; the following exception was raised:
No module named 'sphobjinv.cli'
WARNING: autodoc: failed to import module 'cli.load' from module 'sphobjinv'; the following exception was raised:
No module named 'sphobjinv.cli'
WARNING: autodoc: failed to import module 'cli.parser' from module 'sphobjinv'; the following exception was raised:
No module named 'sphobjinv.cli'
WARNING: autodoc: failed to import module 'cli.paths' from module 'sphobjinv'; the following exception was raised:
No module named 'sphobjinv.cli'
WARNING: autodoc: failed to import module 'cli.ui' from module 'sphobjinv'; the following exception was raised:
No module named 'sphobjinv.cli'
WARNING: autodoc: failed to import module 'cli.write' from module 'sphobjinv'; the following exception was raised:
No module named 'sphobjinv.cli'
WARNING: Unexpected return code 1 from command Command(command='sphobjinv suggest -s - valid < objects_attrs.txt', shell=True, hide_standard_error=False, working_directory='/home/tkloczko/rpmbuild/BUILD/sphobjinv-2.1/tests/resource') (output=' \n\nError while parsing input file path:\nFileNotFoundError: Indicated path is not a valid file')
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
writing... python-sphobjinv.3 { cli/index cli/convert cli/suggest api_usage customfile levenshtein syntax api/index api/data api/enum api/error api/fileops api/inventory api/re api/schema api/zlib cli/implementation/index cli/implementation/core cli/implementation/load cli/implementation/parser cli/implementation/paths cli/implementation/ui cli/implementation/write } done
build succeeded, 7 warnings.
bskinn commented 3 years ago

What's your working directory for the setup.py invocation? Looks like the repo root?

kloczek commented 3 years ago

Yep .. in sphobjinv source tree root directory. Just please try to execute that setuptools "build_sphinx" command after "build" and you should see the same output.

bskinn commented 3 years ago
>python setup.py build_sphinx -Ean
running build_sphinx
Running Sphinx v3.5.0
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
loading intersphinx inventory from https://www.sphinx-doc.org/en/master/objects.inv...
building [mo]: all of 0 po files
building [html]: all source files
updating environment: [new config] 24 added, 0 changed, 0 removed
reading sources... [100%] syntax
←[91mWARNING: Unexpected return code 1 from command 'sphobjinv suggest -u https://sphobjinv.readthedocs.io/en/v2.0rc1/cmdline.html compress'←[39;49;00m
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] syntax
generating indices... genindex py-modindex done
writing additional pages... search done
copying images... [100%] _static/mouseover_example.png
copying static files... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded, 1 warning.

The HTML pages are in build\sphinx\html.

So, I do see one 'file not found' error--which honestly I would expect to see TONS of, not just one...not sure what's going on there--but I'm not seeing the import problems with autodoc.

Are you installing -rrequirements-dev.txt first? That includes a -e .; without that, I'm not surprised at those autodoc import problems.

Also, FWIW, I didn't even know build_sphinx was a thing. I always use make html -n from {repo root}/doc.

kloczek commented 3 years ago

I'm closing this ticket. After build sphobjinv rpm package and install it I'm no longer see those warnings (which is odd because previously I had installed sphobjinv 2.0 and theoretically build_sphinx setuptools command should be using what "build" prepared in build/).

+ /usr/bin/python3 setup.py build_sphinx -b man --build-dir build/sphinx
running build_sphinx
Running Sphinx v4.0.2
making output directory... done
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
loading intersphinx inventory from https://www.sphinx-doc.org/en/master/objects.inv...
building [mo]: targets for 0 po files that are out of date
building [man]: all manpages
updating environment: [new config] 24 added, 0 changed, 0 removed
reading sources... [100%] syntax
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
writing... python-sphobjinv.3 { cli/index cli/convert cli/suggest api_usage customfile levenshtein syntax api/index api/data api/enum api/error api/fileops api/inventory api/re api/schema api/zlib cli/implementation/index cli/implementation/core cli/implementation/load cli/implementation/parser cli/implementation/paths cli/implementation/ui cli/implementation/write } done
build succeeded.
bskinn commented 3 years ago

Yeah, some of this stuff is unfortunately pretty flaky, since the tests/doctests/etc. reflect back into the current state of the docs on disk.

I probably should have done it differently, but the prospect of bootstrapping a new, clean docs filesystem tree every time I wanted to run tests seemed like it would take waaaaaaay too long on every run of the suite. I could probably have figured out some sort of staling logic for the test-suite docset, to avoid recreating it every run, but at the time I started the test suite, I wasn't confident I had enough Python chops to set it up well.