Open parmentelat opened 2 months ago
I have a similar problem. Not sure what the root cause is but downgrading to python3.11 provided a temporary workaround
I have the same issue, running the same configuration except with MyST-Parser version 2.0.0
.
This appears to be because the SelectableGroups
class, which implemented a dictionary-like interface for the result of entry_points
is deprecated and was removed in Python 3.12.
Here's the class in Python 3.11., and here's the file in 3.12.
The removal of this class means that the function entry_points()
in 3.12 can no longer return a dictionary-like object like it did in 3.11.
Unfortunately I think these API changes are to be expected between 3.8 and 3.12, since importlib
's metadata functionality was new in 3.8 and only considered to be provisional.
I would suggest either checking to see first if entry_points(group=group)
gives an error, and if it does, fall back to the current implementation.
I can open a PR soon, although I'm not sure if the suggested fix would be to add this sort of edge case handling, or instead just update the whole project to 3.12 - it seems like from these lines there's some kind of handling of multiple versions.
Edit: From what I can tell, import importlib.metadata
would only throw an error before Python 3.8, so those lines can probably be removed outright, since the project seems to require at least 3.9.
Describe the bug
context When I do
bug I am consistently getting a stack dump ending with
problem obviously the command is having problems displaying its own help...?
note that running a valid command like
jupyter book build .
works fineReproduce the bug
just run the above commands
List your environment
this is on MacOS sonoma 14.4.1