Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix python -m pdb on 3.11 #521

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

bretello
Copy link

@bretello bretello commented Jul 7, 2023

based on the changes in proposed in #516 and #520

fixes #516

based on the changes in proposed in pdbpp#516 and pdbpp#520

fixes pdbpp#516
@bretello
Copy link
Author

bretello commented Jul 7, 2023

Seems to work fine with my (limited) testing, with 3.10 and 3.11. I couldn't get the tests to pass, but I don't think that's related to this change.

Thanks to @tgy and @blueyed

@bretello
Copy link
Author

bretello commented Nov 7, 2023

If anybody is interested, I merged this and released with some updates in
https://github.com/bretello/pdbpp/releases/tag/0.11.0

This also includes fancycompleter from https://github.com/bretello/fancycompleter (forked from pdbpp/fancycompleter) pyrepl from https://github.com/bretello/pyrepl, both with updated CI and updates.

Install with:

pip install git+https://github.com/bretello/pdbpp@0.11.0

@clarkwang
Copy link

If anybody is interested, I merged this and released with some updates in https://github.com/bretello/pdbpp/releases/tag/0.11.0

This also includes fancycompleter from https://github.com/bretello/fancycompleter (forked from pdbpp/fancycompleter) pyrepl from https://github.com/bretello/pyrepl, both with updated CI and updates.

Install with:

pip install git+https://github.com/bretello/pdbpp@0.11.0

It does not work for me on macos:

$ python3.11 -mpdb foo.py                                                                                                                  [86/409]
[2] > /private/tmp/foo.py(3)<module>()
-> class Wrapped:
Traceback (most recent call last):
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pdb.py", line 1778, in main
    pdb._run(target)
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pdb.py", line 1646, in _run
    self.run(target.code)
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/bdb.py", line 600, in run
    exec(cmd, globals, locals)
  File "<string>", line 1, in <module>
  File "/private/tmp/foo.py", line 3, in <module>
    class Wrapped:
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/bdb.py", line 90, in trace_dispatch
    return self.dispatch_line(frame)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/bdb.py", line 114, in dispatch_line
    self.user_line(frame)
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pdb.py", line 331, in user_line
    self.interaction(frame, None)
  File "/usr/local/lib/python3.11/site-packages/pdbpp.py", line 423, in interaction
    return self._interaction(frame, traceback)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pdbpp.py", line 457, in _interaction
    self._cmdloop()
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pdb.py", line 391, in _cmdloop
    self.cmdloop()
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/cmd.py", line 126, in cmdloop
    line = input(self.prompt)
           ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/readline.py", line 207, in input
    reader = self.get_reader()
             ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/readline.py", line 200, in get_reader
    console = UnixConsole(self.f_in, self.f_out, encoding=ENCODING)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/unix_console.py", line 205, in __init__
    self.event_queue = EventQueue(self.input_fd, self.encoding)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/unix_eventqueue.py", line 87, in EventQueue
    keycodes = general_keycodes()
               ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/unix_eventqueue.py", line 76, in general_keycodes
    assert isinstance(keycode, bytes)
AssertionError
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
[16] > /usr/local/lib/python3.11/site-packages/pyrepl/unix_eventqueue.py(76)general_keycodes()
-> assert isinstance(keycode, bytes)
Traceback (most recent call last):
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pdb.py", line 1778, in main
    pdb._run(target)
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pdb.py", line 1646, in _run
    self.run(target.code)
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/bdb.py", line 600, in run
    exec(cmd, globals, locals)
  File "<string>", line 1, in <module>
  File "/private/tmp/foo.py", line 3, in <module>
    class Wrapped:
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/bdb.py", line 90, in trace_dispatch
    return self.dispatch_line(frame)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/bdb.py", line 114, in dispatch_line
    self.user_line(frame)
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pdb.py", line 331, in user_line
    self.interaction(frame, None)
  File "/usr/local/lib/python3.11/site-packages/pdbpp.py", line 423, in interaction
    return self._interaction(frame, traceback)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pdbpp.py", line 457, in _interaction
    self._cmdloop()
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pdb.py", line 391, in _cmdloop
    self.cmdloop()
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/cmd.py", line 126, in cmdloop
    line = input(self.prompt)
           ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/readline.py", line 207, in input
    reader = self.get_reader()
             ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/readline.py", line 200, in get_reader
    console = UnixConsole(self.f_in, self.f_out, encoding=ENCODING)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/unix_console.py", line 205, in __init__
    self.event_queue = EventQueue(self.input_fd, self.encoding)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/unix_eventqueue.py", line 87, in EventQueue
    keycodes = general_keycodes()
               ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/unix_eventqueue.py", line 76, in general_keycodes
    assert isinstance(keycode, bytes)
AssertionError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/local/lib/python3.11/site-packages/_pdbpp_path_hack/pdb.py", line 17, in <module>
    exec(compile(f.read(), pdb_path, "exec"))
  File "/usr/local/lib/python3.11/site-packages/pdbpp.py", line 2234, in <module>
    pdbpp.main()
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pdb.py", line 1797, in main
    pdb.interaction(None, t)
  File "/usr/local/lib/python3.11/site-packages/pdbpp.py", line 423, in interaction
    return self._interaction(frame, traceback)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pdbpp.py", line 457, in _interaction
    self._cmdloop()
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pdb.py", line 391, in _cmdloop
    self.cmdloop()
  File "/usr/local/Cellar/python@3.11/3.11.6/Frameworks/Python.framework/Versions/3.11/lib/python3.11/cmd.py", line 126, in cmdloop
    line = input(self.prompt)
           ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/readline.py", line 207, in input
    reader = self.get_reader()
             ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/readline.py", line 200, in get_reader
    console = UnixConsole(self.f_in, self.f_out, encoding=ENCODING)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/unix_console.py", line 205, in __init__
    self.event_queue = EventQueue(self.input_fd, self.encoding)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/unix_eventqueue.py", line 87, in EventQueue
    keycodes = general_keycodes()
               ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyrepl/unix_eventqueue.py", line 76, in general_keycodes
    assert isinstance(keycode, bytes)
AssertionError

@petobens
Copy link
Contributor

petobens commented Nov 8, 2023

@bretello I'm getting the same error as @clarkwang (but I'm on arch linux):

[0] > /home/pedro/Desktop/foo.py(13)<module>()

 1     """Foo."""
 2
 3
 4     def s(x, y):
 5         """Sum 2 numbers."""
 6         return x + y
 7
 8
 9     print(s(1, 2))
10
11     for i in range(10):
12         breakpoint()
13  ->     print(i)
Traceback (most recent call last):
  File "/home/pedro/Desktop/foo.py", line 13, in <module>
    print(i)
    ^^^^^
  File "/usr/lib/python3.11/bdb.py", line 90, in trace_dispatch
    return self.dispatch_line(frame)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/bdb.py", line 114, in dispatch_line
    self.user_line(frame)
  File "/usr/lib/python3.11/pdb.py", line 331, in user_line
    self.interaction(frame, None)
  File "/home/pedro/.local/lib/python3.11/site-packages/pdbpp.py", line 423, in interaction
    return self._interaction(frame, traceback)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pedro/.local/lib/python3.11/site-packages/pdbpp.py", line 457, in _interaction
    self._cmdloop()
  File "/usr/lib/python3.11/pdb.py", line 391, in _cmdloop
    self.cmdloop()
  File "/usr/lib/python3.11/cmd.py", line 126, in cmdloop
    line = input(self.prompt)
           ^^^^^^^^^^^^^^^^^^
  File "/home/pedro/.local/lib/python3.11/site-packages/pyrepl/readline.py", line 207, in input
    reader = self.get_reader()
             ^^^^^^^^^^^^^^^^^
  File "/home/pedro/.local/lib/python3.11/site-packages/pyrepl/readline.py", line 200, in get_reader
    console = UnixConsole(self.f_in, self.f_out, encoding=ENCODING)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pedro/.local/lib/python3.11/site-packages/pyrepl/unix_console.py", line 205, in __init__
    self.event_queue = EventQueue(self.input_fd, self.encoding)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pedro/.local/lib/python3.11/site-packages/pyrepl/unix_eventqueue.py", line 87, in EventQueue
    keycodes = general_keycodes()
               ^^^^^^^^^^^^^^^^^^
  File "/home/pedro/.local/lib/python3.11/site-packages/pyrepl/unix_eventqueue.py", line 76, in general_keycodes
    assert isinstance(keycode, bytes)
AssertionError

@bretello
Copy link
Author

bretello commented Nov 8, 2023

@petobens @clarkwang

Thanks for the feedback. Could you post the outpuit of pip list? Do you get the same issue if you create a fresh virtualenv?

cd $(mktemp -d)
python -m venv .venv
source .venv/bin/activate
python -m pdb foo.py

I cannot seem to reproduce on arch:

image

@clarkwang
Copy link

My pip list output:

Package               Version                                                                                                                               [10/902]
--------------------- --------------------
black                 23.3.0
certifi               2022.12.7
cffi                  1.15.1
charset-normalizer    3.1.0
click                 8.1.3
docstring-to-markdown 0.12
dulwich               0.21.6
fancycompleter        0.10.3
gnureadline           8.1.2
hg-git                1.0.2
idna                  3.4
iniconfig             2.0.0
jedi                  0.18.2
Jinja2                3.1.2
MarkupSafe            2.1.2
mercurial             6.4.2
mpmath                1.3.0
mypy-extensions       1.0.0
packaging             23.0
parso                 0.8.3
pathspec              0.11.1
pdbp                  1.5.0
pdbpp                 0.11.0
pexpect               4.8.0
pip                   23.3.1
platformdirs          3.2.0
pluggy                1.0.0
ptyprocess            0.7.0
pycodestyle           2.10.0
pycparser             2.21
pyflakes              3.0.1
pygit2                1.12.2
Pygments              2.16.1
pyrepl                0.8.5.dev77+gec35e44
pytest                7.4.3
python-lsp-black      1.2.1
python-lsp-jsonrpc    1.0.0
python-lsp-server     1.7.4
PyYAML                6.0.1
requests              2.28.2
setuptools            68.2.2
six                   1.16.0
sympy                 1.12
tabcompleter          1.3.0
toml                  0.10.2
ujson                 5.7.0
urllib3               1.26.15
wheel                 0.41.2
wmctrl                0.4
xonsh                 0.13.4

And a new venv works fine for me.

@petobens
Copy link
Contributor

petobens commented Nov 9, 2023

Same here regarding the new venv:

Package                  Version
------------------------ ----------------------------------
annotated-types          0.6.0
argcomplete              3.1.4
attrs                    22.2.0
autocommand              2.2.2
btrfsutil                6.5.3
certifi                  2023.7.22
cffi                     1.16.0
charset-normalizer       3.3.2
click                    8.1.7
contourpy                1.2.0
cryptography             41.0.5
cycler                   0.12.1
dbus-python              1.3.2
distro                   1.8.0
docopt                   0.6.2
fancycompleter           0.10.3
fastjsonschema           2.18.1
fonttools                4.44.0
greenlet                 3.0.1
i3ipc                    2.2.1
idna                     3.4
inflect                  7.0.0
jaraco.context           4.3.0
jaraco.functools         3.9.0
jaraco.text              3.11.1
joblib                   1.3.2
keyutils                 0.6
kiwisolver               1.4.5
Mako                     1.2.4
Markdown                 3.5.1
MarkupSafe               2.1.3
matplotlib               3.8.1
matplotlib-backend-kitty 2.1.2
more-itertools           10.1.0
msgpack                  1.0.7
netsnmp-python           1.0a1
numpy                    1.26.1
ordered-set              4.1.0
packaging                23.1
pandas                   2.1.2
pdbpp                    0.11.0
Pillow                   10.1.0
pip                      23.3.1
pipx                     1.2.1
platformdirs             3.11.0
ply                      3.11
pwquality                1.4.5
pycparser                2.21
pydantic                 2.4.2
pydantic_core            2.10.1
Pygments                 2.16.1
PyGObject                3.46.0
pynvim                   0.4.3
pyparsing                3.1.1
pyrepl                   0.8.5.dev77+gec35e44
python-dateutil          2.8.2
pytz                     2023.3.post1
PyYAML                   6.0.1
Reflector                2023.6.28.0.36.1
Send2Trash               1.8.2
setuptools               68.0.0
six                      1.16.0
threadpoolctl            3.2.0
tomli                    2.0.1
trove-classifiers        2023.10.27
typing_extensions        4.8.0
tzdata                   2023.3
udiskie                  2.5.0
urllib3                  2.0.7
userpath                 1.9.1
validate-pyproject       0.13.post1.dev0+gb752273.d20230520
wheel                    0.40.0
wmctrl                   0.5
xlib                     0.21

@jamilraichouni
Copy link

jamilraichouni commented Nov 9, 2023

Created a fresh venv for 3.11.1 in a Fedora Docker container. Then I installed my common additional packages (e. g. black, ipython, pytest and more) I use to develop. I also installed my dev project in editable mode. When I then try to run my project I get the exact same errors.
My pip list:

Package                   Version                      Editable project location
------------------------- ---------------------------- --------------------------------------------------
annotated-types           0.6.0
anyio                     3.7.1
arel                      0.2.0
argon2-cffi               23.1.0
argon2-cffi-bindings      21.2.0
arrow                     1.3.0
astroid                   3.0.1
asttokens                 2.4.1
async-lru                 2.0.4
attrs                     23.1.0
Babel                     2.13.1
beautifulsoup4            4.12.2
black                     23.11.0
bleach                    6.1.0
capella-model-editor      0.1.dev27+g06cd1eb.d20231109 /mnt/volume/data/dev/dbgitlab/capella-model-editor
capellambse               0.5.34.dev25
certifi                   2023.7.22
cffi                      1.16.0
cfgv                      3.4.0
charset-normalizer        3.3.2
click                     8.1.7
comm                      0.2.0
debugpy                   1.8.0
decorator                 5.1.1
defusedxml                0.7.1
dill                      0.3.7
distlib                   0.3.7
docstring-to-markdown     0.13
executing                 2.0.1
fancycompleter            0.10.3
fastapi                   0.104.1
fastjsonschema            2.18.1
filelock                  3.13.1
fqdn                      1.5.1
greenlet                  3.0.1
h11                       0.14.0
httptools                 0.6.1
identify                  2.5.31
idna                      3.4
iniconfig                 2.0.0
ipykernel                 6.26.0
ipython                   8.17.2
ipywidgets                8.1.1
isoduration               20.11.0
isort                     5.12.0
jedi                      0.19.1
Jinja2                    3.1.2
json5                     0.9.14
jsonpointer               2.4
jsonschema                4.19.2
jsonschema-specifications 2023.7.1
jupyter                   1.0.0
jupyter_client            8.6.0
jupyter-console           6.6.3
jupyter_core              5.5.0
jupyter-events            0.9.0
jupyter-lsp               2.2.0
jupyter_server            2.10.0
jupyter_server_terminals  0.4.4
jupyterlab                4.0.8
jupyterlab-pygments       0.2.2
jupyterlab_server         2.25.1
jupyterlab-widgets        3.0.9
lxml                      4.9.3
lxml-stubs                0.4.0
MarkupSafe                2.1.3
matplotlib-inline         0.1.6
mccabe                    0.7.0
mistune                   3.0.2
msgpack                   1.0.7
mypy                      1.6.1
mypy-extensions           1.0.0
nbclient                  0.9.0
nbconvert                 7.11.0
nbformat                  5.9.2
nest-asyncio              1.5.8
nodeenv                   1.8.0
notebook                  7.0.6
notebook_shim             0.2.3
overrides                 7.4.0
packaging                 23.2
pandocfilters             1.5.0
parso                     0.8.3
pathspec                  0.11.2
pdbpp                     0.11.1
pexpect                   4.8.0
Pillow                    10.1.0
pip                       23.3.1
platformdirs              3.11.0
pluggy                    1.3.0
pre-commit                3.5.0
prometheus-client         0.18.0
prompt-toolkit            3.0.39
psutil                    5.9.6
ptyprocess                0.7.0
pure-eval                 0.2.2
pycparser                 2.21
pydantic                  2.4.2
pydantic_core             2.10.1
Pygments                  2.16.1
pylint                    3.0.2
pyls-isort                0.2.2
pylsp-mypy                0.6.7
pynvim                    0.4.3
pyrepl                    0.8.5.dev77+gec35
pytest                    7.4.3
python-dateutil           2.8.2
python-dotenv             1.0.0
python-json-logger        2.0.7
python-lsp-black          1.3.0
python-lsp-jsonrpc        1.1.2
python-lsp-server         1.9.0
PyYAML                    6.0.1
pyzmq                     25.1.1
qtconsole                 5.5.0
QtPy                      2.4.1
referencing               0.30.2
requests                  2.31.0
rfc3339-validator         0.1.4
rfc3986-validator         0.1.1
rpds-py                   0.12.0
Send2Trash                1.8.2
setuptools                68.2.0
six                       1.16.0
sniffio                   1.3.0
soupsieve                 2.5
stack-data                0.6.3
starlette                 0.27.0
svgwrite                  1.4.3
terminado                 0.17.1
tinycss2                  1.2.1
tomlkit                   0.12.2
tornado                   6.3.3
traitlets                 5.13.0
types-python-dateutil     2.8.19.14
typing_extensions         4.8.0
ujson                     5.8.0
uri-template              1.3.0
urllib3                   2.0.7
uvicorn                   0.24.0.post1
uvloop                    0.19.0
virtualenv                20.24.6
watchfiles                0.21.0
watchgod                  0.6
wcwidth                   0.2.9
webcolors                 1.13
webencodings              0.5.1
websocket-client          1.6.4
websockets                12.0
wheel                     0.41.2
widgetsnbextension        4.0.9

@jamilraichouni
Copy link

I tried to pipe the backtrace into a file but somewhat the redirect of stdout to some file "works" (I mean there is no assertion error). Maybe that info is of interest:

image

@bretello
Copy link
Author

bretello commented Nov 9, 2023

Tracked this down to a misplaced assert in pyrepl (see bretello/pyrepl#1). Released a new version and included it in fancycompleter==0.10.4.

See the new release: 0.11.2.

Test it out:

pip install -U git+https://github.com/bretello/pdbpp@0.11.2

@jamilraichouni
Copy link

Yes, great!
Many, many thanks for your efforts. Makes me really happy to see movement here!

@petobens
Copy link
Contributor

petobens commented Nov 9, 2023

Thank you!!

@saucoide
Copy link

the patch also seems to work on 3.12, are the tests failing bc of broken ci or related to the change?

@bretello
Copy link
Author

@saucoide
CI failures are unrelated, see #526 for some fixes. Updated CI and tests can be found at https://github.com/bretello/pdbpp, although some tests are currently failing on windows for python>=3.11, mostly because of how they are written.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

python3.11 breaks pdbpp -m
6 participants