sphinx-contrib / plantuml

BSD 2-Clause "Simplified" License
115 stars 42 forks source link

The extension breaks with Sphinx 4 #58

Closed crazyscientist closed 3 years ago

crazyscientist commented 3 years ago

with the latest release of Sphinx 4 the sphinxcontrib.plantuml extension fails to run and produces an exception.

Steps to reproduce

> pip install sphinx sphinxcontrib-plantuml
Requirement already satisfied: sphinx in /home/andi/virtualenvs/smelt/lib/python3.8/site-packages (4.0.1)
Requirement already satisfied: sphinxcontrib-plantuml in /home/andi/virtualenvs/smelt/lib/python3.8/site-packages (0.20.1)
[... output stripped ...]
> make clean html
Removing everything under 'build'...
Sphinx v4.0.1 in Verwendung

Extension error:
Could not import extension sphinxcontrib.plantuml (exception: cannot import name 'ENOENT' from 'sphinx.util.osutil' (/home/andi/virtualenvs/smelt/lib/python3.8/site-packages/sphinx/util/osutil.py))
make: *** [Makefile:19: html] Fehler 2

More details are available when running sphinx-build:

> sphinx-build -a -T -b html ../doc/source ../public
Running Sphinx v4.0.1
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/sphinx/registry.py", line 420, in load_extension
    mod = import_module(extname)
  File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/lib/python3.6/site-packages/sphinxcontrib/plantuml.py", line 33, in <module>
    from sphinx.util.osutil import (
ImportError: cannot import name 'ENOENT'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/sphinx/cmd/build.py", line 279, in build_main
    args.tags, args.verbosity, args.jobs, args.keep_going)
  File "/usr/lib/python3.6/site-packages/sphinx/application.py", line 243, in __init__
    self.setup_extension(extension)
  File "/usr/lib/python3.6/site-packages/sphinx/application.py", line 400, in setup_extension
    self.registry.load_extension(self, extname)
  File "/usr/lib/python3.6/site-packages/sphinx/registry.py", line 424, in load_extension
    err) from err
sphinx.errors.ExtensionError: Could not import extension sphinxcontrib.plantuml (exception: cannot import name 'ENOENT')
Extension error:
Could not import extension sphinxcontrib.plantuml (exception: cannot import name 'ENOENT')

Workaround

After downgrading to Sphinx<4 the documents are build again correctly.

flying-sheep commented 3 years ago

Duplicate of #56, please use the search.

crazyscientist commented 3 years ago

@flying-sheep Sorry for the noise. I was only looking at the open issues