jazzband / Watson

:watch: A wonderful CLI to track your time!
http://tailordev.github.io/Watson/
MIT License
2.44k stars 239 forks source link

Error generating documentation with Python 3.7 #280

Closed davidag closed 5 years ago

davidag commented 5 years ago

@raphaelfournier reported in #243 a failure generating Watson's documentation using Python 3.7:

Beware that mkdocs 0.14 is not compatible with Python 3.7: you should either use a virtualenv with Python 3.6 or update mkdocs to a more recent version (1.0.4 at the time of writing, which also requires running pip install --upgrade mkdocs-bootstrap mkdocs-bootswatch to get the flatly theme used by our docs).

Trying to generate Watson docs using Python 3.7, I've come across the following error (which might or might not be what @raphaelfournier was refering to):

# In Watson local repository
$ rm -r .venv
$ PYTHON=python3.7 make env
$ source .venv/bin/activate
(.venv) $ make docs
...
python scripts/gen-cli-docs.py
mkdocs build
Traceback (most recent call last):
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/mkdocs/config/config_options.py", line 329, in walk_docs_dir
    raise StopIteration
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/david/projects/watson/.venv/bin/mkdocs", line 10, in <module>
    sys.exit(cli())
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/mkdocs/cli.py", line 133, in build_command
    site_dir=site_dir
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/mkdocs/config/base.py", line 147, in load_config
    errors, warnings = cfg.validate()
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/mkdocs/config/base.py", line 80, in validate
    self._post_validate()
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/mkdocs/config/base.py", line 72, in _post_validate
    config_option.post_validation(self, key_name=key)
  File "/home/david/projects/watson/.venv/lib/python3.7/site-packages/mkdocs/config/config_options.py", line 345, in post_validation
    for filename in self.walk_docs_dir(config['docs_dir']):
RuntimeError: generator raised StopIteration
make: *** [Makefile:51: docs] Error 1
jmaupetit commented 5 years ago

This is a known issue (see mkdocs/mkdocs/pull/1518), we need to upgrade this dependency.